M
- The type of shader parameterspublic abstract class R2AbstractLightScreenShaderSingle<M extends R2LightSingleReadableType> extends R2AbstractShader<R2AbstractLightScreenShaderSingle.State,M> implements R2ShaderLightScreenSingleType<M>
Modifier and Type | Class and Description |
---|---|
protected static class |
R2AbstractLightScreenShaderSingle.State |
Modifier | Constructor and Description |
---|---|
protected |
R2AbstractLightScreenShaderSingle(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders,
R2ShaderPreprocessingEnvironmentReadableType in_shader_env,
R2IDPoolType in_pool,
String in_name,
String in_vertex,
Optional<String> in_geometry,
String in_fragment,
R2ShaderStateChecking in_check) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
onActualReceiveBoundGeometryBufferTextures(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) |
protected abstract void |
onActualReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g,
R2ShaderParametersLightType<M> light_parameters) |
protected void |
onCheckActivated() |
protected void |
onCheckDeactivated() |
protected com.io7m.jfsm.core.FSMEnumMutable<R2AbstractLightScreenShaderSingle.State> |
onCheckGetFSM() |
protected void |
onCheckValidated() |
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.
|
delete, environment, isDeleted, onActivate, onDeactivate, onValidate, shaderID, shaderProgram
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
delete, wrap
environment, onActivate, onDeactivate, onValidate, shaderID, shaderParametersType, shaderProgram
protected R2AbstractLightScreenShaderSingle(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders, R2ShaderPreprocessingEnvironmentReadableType in_shader_env, R2IDPoolType in_pool, String in_name, String in_vertex, Optional<String> in_geometry, String in_fragment, R2ShaderStateChecking in_check) throws R2ExceptionShaderPreprocessingFailed
protected abstract void onActualReceiveBoundGeometryBufferTextures(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)
protected abstract void onActualReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, R2ShaderParametersLightType<M> light_parameters)
public final 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)
R2ShaderLightSingleUsableType
Set the bound geometry buffer textures for the current shader.
This method will be called exactly once between calls to R2ShaderUsableType.onActivate(JCGLInterfaceGL33Type)
and R2ShaderUsableType.onValidate()
.
onReceiveBoundGeometryBufferTextures
in interface R2ShaderLightSingleUsableType<M extends R2LightSingleReadableType>
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 final void onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, R2ShaderParametersLightType<M> light_parameters)
R2ShaderLightSingleUsableType
Set 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(JCGLInterfaceGL33Type)
and before a call to R2ShaderUsableType.onValidate()
.
onReceiveValues
in interface R2ShaderLightSingleUsableType<M extends R2LightSingleReadableType>
g
- An OpenGL interfacelight_parameters
- The light parametersprotected final com.io7m.jfsm.core.FSMEnumMutable<R2AbstractLightScreenShaderSingle.State> onCheckGetFSM()
onCheckGetFSM
in class R2AbstractShader<R2AbstractLightScreenShaderSingle.State,M extends R2LightSingleReadableType>
protected final void onCheckActivated()
onCheckActivated
in class R2AbstractShader<R2AbstractLightScreenShaderSingle.State,M extends R2LightSingleReadableType>
protected final void onCheckDeactivated()
onCheckDeactivated
in class R2AbstractShader<R2AbstractLightScreenShaderSingle.State,M extends R2LightSingleReadableType>
protected final void onCheckValidated()
onCheckValidated
in class R2AbstractShader<R2AbstractLightScreenShaderSingle.State,M extends R2LightSingleReadableType>
Copyright © 2017 <code@io7m.com> http://io7m.com