Interface defining shader compilation, linkage and runtime state. More...
Public Member Functions | |
void | SetState (RenderContext ctx, ShaderProgram sProgram) |
Set shader program state. | |
Properties | |
IEnumerable< ShaderObject > | Attachments [get] |
Shader objects required for correct linkage. | |
IEnumerable< string > | Defines [get] |
Shader source preprocessor definitions. | |
Events | |
CompilerEventHandler | CompilerEvent |
Compiler event. | |
LinkerEventHandler | LinkerEvent |
Linker event. |
Interface defining shader compilation, linkage and runtime state.
void Derm.Render.IShaderState.SetState | ( | RenderContext | ctx, | |
ShaderProgram | sProgram | |||
) |
Set shader program state.
ctx | A RenderContext used to set the shader program state. | |
sProgram | A ShaderProgram |
Implemented in Derm.Render.RenderGraphNode, Derm.Render.BaseShaderAttributes, Derm.Render.ShaderObject, Derm.Render.BlendState, Derm.Render.CullFaceState, Derm.Render.DepthTestState, Derm.Render.PolygonState, Derm.Render.RenderState, Derm.Render.StdLightModelState, Derm.Render.StdMaterialState, Derm.Render.TextureStageState, and Derm.Render.TexturesState.
IEnumerable<ShaderObject> Derm.Render.IShaderState.Attachments [get] |
Shader objects required for correct linkage.
Attachments determine the set of ShaderObject instances which are needed to link successfully a shader program.
When this property changes, a LinkerEvent event shall be raised to notify that the ShaderProgram instances linked using this IShaderState shall be relinked.
Implemented in Derm.Mesh.Mesh, Derm.Render.RenderGraphNode, Derm.Render.BaseShaderAttributes, Derm.Render.ShaderObject, Derm.Render.RenderState, and Derm.Render.StdLightModelState.
IEnumerable<string> Derm.Render.IShaderState.Defines [get] |
Shader source preprocessor definitions.
Preprocessor definitions are a flexible and powerfull way to change the shader object behavior. This property define the preprocessor definitions for this IShaderState implementation.
When this property changes, a CompilerEvent event shall be raised to notify that the ShaderObject instances compiled using this IShaderState shall be recompiled.
Implemented in Derm.Render.RenderGraphNode, Derm.Render.BaseShaderAttributes, Derm.Render.ShaderObject, and Derm.Render.RenderState.
CompilerEventHandler Derm.Render.IShaderState.CompilerEvent |
Compiler event.
Implemented in Derm.Render.RenderGraphNode, Derm.Render.BaseShaderAttributes, Derm.Render.ShaderObject, and Derm.Render.RenderState.
LinkerEventHandler Derm.Render.IShaderState.LinkerEvent |
Linker event.
Implemented in Derm.Render.RenderGraphNode, Derm.Render.BaseShaderAttributes, Derm.Render.ShaderObject, and Derm.Render.RenderState.