com.io7m.r2.core

## Interface R2TranslucentType<M>

- Type Parameters:
    `M` - The type of shader parameters
  All Known Subinterfaces:
    R2TranslucentBatchedType<M>, R2TranslucentBillboardedType<M>, R2TranslucentSingleType<M>
  All Known Implementing Classes:
    R2TranslucentBatched, R2TranslucentBillboarded, R2TranslucentSingle

      public interface R2TranslucentType<M>

  The type of translucents.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `Optional<com.io7m.jcanephora.renderstate.JCGLBlendState>` | `blending()`
    `com.io7m.jcanephora.renderstate.JCGLCullingState` | `culling()`
    `<A,B,E extends Throwable> B` | `matchTranslucent(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentSingleType<M>,B,E> on_single, com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentBatchedType<M>,B,E> on_batched, com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentBillboardedType<M>,B,E> on_billboarded)` Match on the type of translucent.
    `M` | `shaderParameters()`
    `default Class<M>` | `shaderParametersType()`

- - ### Method Detail

    - #### matchTranslucent

          <A,B,E extends Throwable> B matchTranslucent(A context,
                                                       com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentSingleType<M>,B,E> on_single,
                                                       com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentBatchedType<M>,B,E> on_batched,
                                                       com.io7m.jfunctional.PartialBiFunctionType<A,R2TranslucentBillboardedType<M>,B,E> on_billboarded)
                                                throws E extends Throwable

      Match on the type of translucent.
      Type Parameters:
        `A` - The type of context values
        `B` - The type of returned values
        `E` - The type of raised exceptions
      Parameters:
        `context` - A context value
        `on_single` - Evaluated for single instances
        `on_batched` - Evaluated for batched instances
        `on_billboarded` - Evaluated for billboarded instances
      Returns:
        A value of type `B`
      Throws:
        `E` - If any of the given functions raise `E`
        `E extends Throwable`

    - #### shaderParametersType

          default Class<M> shaderParametersType()

      Returns:
        The type of shader parameters

    - #### shaderParameters

          M shaderParameters()

      Returns:
        The shader parameters

    - #### blending

          Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> blending()

      Returns:
        The blending state for the translucent

    - #### culling

          com.io7m.jcanephora.renderstate.JCGLCullingState culling()

      Returns:
        The culling state for the translucent

Copyright © 2016 <code@io7m.com> http://io7m.com