public final class R2LightShaderProjectiveLambertShadowVarianceSingle extends R2AbstractShader<R2LightProjectiveWithShadowVarianceType> implements R2ShaderLightProjectiveWithShadowType<R2LightProjectiveWithShadowVarianceType>
| Modifier and Type | Method and Description |
|---|---|
static R2ShaderLightProjectiveWithShadowType<R2LightProjectiveWithShadowVarianceType> |
newShader(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders,
R2ShaderPreprocessingEnvironmentReadableType in_shader_env,
R2IDPoolType in_pool)
Construct a new shader.
|
void |
onReceiveBoundGeometryBufferTextures(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2GeometryBufferUsableType gbuffer,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_albedo,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_specular,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_depth,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_normals)
Set the bound geometry buffer textures for the current shader.
|
void |
onReceiveProjectiveLight(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2MatricesProjectiveLightValuesType m)
Set shader values that are derived from the current projective
light.
|
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.
|
void |
onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2ShaderParametersLightType<R2LightProjectiveWithShadowVarianceType> light_parameters)
Set light values.
|
void |
onReceiveVolumeLightTransform(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2MatricesVolumeLightValuesType m)
Set shader values that are derived from the current volume light
transform.
|
void |
onValidate()
Validate the shader prior to executing a draw call.
|
Class<R2LightProjectiveWithShadowVarianceType> |
shaderParametersType() |
delete, isDeleted, onActivate, onDeactivate, shaderID, shaderProgramclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonActivate, onDeactivate, shaderID, shaderProgramdeletepublic static R2ShaderLightProjectiveWithShadowType<R2LightProjectiveWithShadowVarianceType> newShader(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders, R2ShaderPreprocessingEnvironmentReadableType in_shader_env, R2IDPoolType in_pool)
in_shaders - A shader interfacein_shader_env - A shader preprocessing environmentin_pool - The ID poolpublic Class<R2LightProjectiveWithShadowVarianceType> shaderParametersType()
shaderParametersType in interface R2ShaderUsableType<R2LightProjectiveWithShadowVarianceType>public void onValidate()
throws R2ExceptionShaderValidationFailed
R2ShaderUsableTypeonValidate in interface R2ShaderUsableType<R2LightProjectiveWithShadowVarianceType>R2ExceptionShaderValidationFailed - If validation failspublic void onReceiveBoundGeometryBufferTextures(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2GeometryBufferUsableType gbuffer,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_albedo,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_specular,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_depth,
com.io7m.jcanephora.core.JCGLTextureUnitType unit_normals)
R2ShaderLightSingleUsableTypeSet the bound geometry buffer textures for the current shader.
This method will be called exactly once between calls to R2ShaderUsableType.onActivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type)
and R2ShaderUsableType.onValidate().
onReceiveBoundGeometryBufferTextures in interface R2ShaderLightSingleUsableType<R2LightProjectiveWithShadowVarianceType>g - An OpenGL interfacegbuffer - The geometry bufferunit_albedo - The texture unit to which the geometry buffer's
albedo/emissive texture is boundunit_specular - The texture unit to which the geometry buffer's
specular texture is boundunit_depth - The texture unit to which the geometry buffer's
depth/stencil texture is boundunit_normals - The texture unit to which the geometry buffer's
normalpublic void onReceiveProjectiveLight(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2MatricesProjectiveLightValuesType m)
R2ShaderLightProjectiveUsableTypeSet shader values that are derived from the current projective light.
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().
onReceiveProjectiveLight in interface R2ShaderLightProjectiveUsableType<R2LightProjectiveWithShadowVarianceType>g - An OpenGL interfacem - The instance matricespublic void onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2ShaderParametersLightType<R2LightProjectiveWithShadowVarianceType> light_parameters)
R2ShaderLightSingleUsableTypeSet light values.
This method will be called once for each 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().
onReceiveValues in interface R2ShaderLightSingleUsableType<R2LightProjectiveWithShadowVarianceType>g - An OpenGL interfacelight_parameters - The light parameterspublic void onReceiveShadowMap(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextMutableType tc,
R2Texture2DUsableType map)
R2ShaderLightProjectiveWithShadowUsableTypeSet 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().
onReceiveShadowMap in interface R2ShaderLightProjectiveWithShadowUsableType<R2LightProjectiveWithShadowVarianceType>g - An OpenGL interfacetc - A texture unit contextmap - A rendered shadow mappublic void onReceiveVolumeLightTransform(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2MatricesVolumeLightValuesType m)
R2ShaderLightVolumeSingleUsableTypeSet shader values that are derived from the current volume light transform.
This method will be called exactly once for each light that uses the 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().
onReceiveVolumeLightTransform in interface R2ShaderLightVolumeSingleUsableType<R2LightProjectiveWithShadowVarianceType>g - An OpenGL interfacem - The instance matricesCopyright © 2016 <code@io7m.com> http://io7m.com