com.io7m.r2.core

## Interface R2TranslucentBillboardedType<M>

- Type Parameters:
    `M` - The type of shader parameters
  All Superinterfaces:
    R2TranslucentType<M>
  All Known Implementing Classes:
    R2TranslucentBillboarded

      public interface R2TranslucentBillboardedType<M>
      extends R2TranslucentType<M>

  The type of batched instance 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()`
    `R2InstanceBillboardedType` | `instance()`
    `default <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.
    `R2ShaderTranslucentInstanceBillboardedType<M>` | `shader()`
    `M` | `shaderParameters()`

    - ### Methods inherited from interface com.io7m.r2.core.R2TranslucentType

      `shaderParametersType`

- - ### Method Detail

    - #### matchTranslucent

          default <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

      Description copied from interface: `R2TranslucentType`
      Match on the type of translucent.
      Specified by:
        `matchTranslucent` in interface `R2TranslucentType<M>`
      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`

    - #### instance

          R2InstanceBillboardedType instance()

      Returns:
        The instance to be rendered

    - #### shader

          R2ShaderTranslucentInstanceBillboardedType<M> shader()

      Returns:
        The shader

    - #### shaderParameters

          M shaderParameters()

      Specified by:
        `shaderParameters` in interface `R2TranslucentType<M>`
      Returns:
        The shader parameters

    - #### blending

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

      Specified by:
        `blending` in interface `R2TranslucentType<M>`
      Returns:
        The blending state for the translucent

    - #### culling

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

      Specified by:
        `culling` in interface `R2TranslucentType<M>`
      Returns:
        The culling state for the translucent

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