M - See R2ShaderLightSingleTypepublic final class R2ShaderLightVolumeSingleVerifier<M extends R2LightVolumeSingleReadableType> extends Object implements R2ShaderLightVolumeSingleType<M>
| Modifier and Type | Method and Description |
|---|---|
void |
delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
Delete the current object.
|
boolean |
isDeleted() |
static <M extends R2LightVolumeSingleReadableType> |
newVerifier(R2ShaderLightVolumeSingleType<M> s)
Construct a new verifier for the given shader.
|
void |
onActivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
Activate the shader for rendering.
|
void |
onDeactivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
Deactivate the 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 |
onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2ShaderParametersLightType<M> 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.
|
long |
shaderID() |
Class<M> |
shaderParametersType() |
com.io7m.jcanephora.core.JCGLProgramShaderUsableType |
shaderProgram() |
public static <M extends R2LightVolumeSingleReadableType> R2ShaderLightVolumeSingleType<M> newVerifier(R2ShaderLightVolumeSingleType<M> s)
M - See R2ShaderLightVolumeSingleTypes - The shaderpublic void delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
throws R2Exception
R2DeletableTypedelete in interface R2DeletableTypeg - An OpenGL interfaceR2Exception - On errorspublic boolean isDeleted()
isDeleted in interface com.io7m.jcanephora.core.JCGLResourceUsableTypepublic long shaderID()
shaderID in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>public Class<M> shaderParametersType()
shaderParametersType in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>public com.io7m.jcanephora.core.JCGLProgramShaderUsableType shaderProgram()
shaderProgram in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>public void onActivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
R2ShaderUsableTypeonActivate in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>g - A GL interfacepublic void onValidate()
throws R2ExceptionShaderValidationFailed
R2ShaderUsableTypeonValidate in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>R2ExceptionShaderValidationFailed - If validation failspublic void onDeactivate(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g)
R2ShaderUsableTypeonDeactivate in interface R2ShaderUsableType<M extends R2LightVolumeSingleReadableType>g - A GL interfacepublic 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<M extends R2LightVolumeSingleReadableType>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 onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2ShaderParametersLightType<M> 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<M extends R2LightVolumeSingleReadableType>g - An OpenGL interfacelight_parameters - The light parameterspublic 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<M extends R2LightVolumeSingleReadableType>g - An OpenGL interfacem - The instance matricesCopyright © 2016 <code@io7m.com> http://io7m.com