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.