com.io7m.r2.core.shaders.types

## Interface R2ShaderLightProjectiveWithShadowUsableType<M extends R2LightProjectiveWithShadowReadableType>

- Type Parameters:
    `M` - The type of shader parameters
  All Superinterfaces:
    com.io7m.jcanephora.core.JCGLResourceUsableType, R2ShaderLightProjectiveUsableType<M>, R2ShaderLightSingleUsableType<M>, R2ShaderLightVolumeSingleUsableType<M>, R2ShaderUsableType<M>
  All Known Subinterfaces:
    R2ShaderLightProjectiveWithShadowType<M>
  All Known Implementing Classes:
    R2LightShaderProjectiveLambertBlinnPhongShadowVarianceSingle, R2LightShaderProjectiveLambertShadowVarianceSingle, R2ShaderLightProjectiveWithShadowVerifier

      public interface R2ShaderLightProjectiveWithShadowUsableType<M extends R2LightProjectiveWithShadowReadableType>
      extends R2ShaderLightProjectiveUsableType<M>

  The type of usable single-instance projective light shaders with shadows.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `onReceiveShadowMap(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextMutableType tc, R2Texture2DUsableType map)` Set values from the given shadow map context.

    - ### Methods inherited from interface com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType

      `onReceiveProjectiveLight`

    - ### Methods inherited from interface com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType

      `onReceiveVolumeLightTransform`

    - ### Methods inherited from interface com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType

      `onReceiveBoundGeometryBufferTextures, onReceiveValues`

    - ### Methods inherited from interface com.io7m.r2.core.shaders.types.R2ShaderUsableType

      `onActivate, onDeactivate, onValidate, shaderID, shaderParametersType, shaderProgram`

    - ### Methods inherited from interface com.io7m.jcanephora.core.JCGLResourceUsableType

      `isDeleted`

- - ### Method Detail

    - #### onReceiveShadowMap

          void onReceiveShadowMap(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
                                  com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextMutableType tc,
                                  R2Texture2DUsableType map)

      Set values from the given shadow map context.

      This method will be called once for each projective light that uses the current shader.

      This method will be called after a call to `R2ShaderUsableType.onActivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type)` and before a call to `R2ShaderUsableType.onValidate()`.

      Parameters:
        `g` - An OpenGL interface
        `tc` - A texture unit context
        `map` - A rendered shadow map

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