ShadeStyle
Represents a customizable and composable style for shaders and rendering pipelines. This class allows defining transformations, preambles, and shader outputs as well as binding buffers and images for use in rendering.
ShadeStyle provides mechanisms for combining different styles and managing parameters for complex rendering effects.
Primary Features:
Shader Transformations: Define custom vertex, geometry, and fragment transformations.
Shader Preambles: Specify custom preamble code blocks for vertex, geometry, and fragment shaders.
Parameter Management: Facilitate management of shader parameters and types.
Outputs: Manage shader outputs such as fragment colors.
Buffer and Image Bindings: Enable configuration and binding of buffers and images.
ShadeStyle is designed for flexibility and modularity in shader-based rendering pipelines, enabling advanced rendering techniques and reusable styles.
Inheritors
Properties
Represents an optional preamble string for a shader's fragment stage. This property allows customization of the initial setup or definitions that precede main shader code for the fragment stage.
Specifies the transformation applied to the fragment shader stage. This property holds an optional string value which represents the GLSL code or expressions defining the transformation logic. When the value of this property is changed, the dirty flag is set to true, indicating that the shader needs to be recompiled or updated.
The GLSL libraries the code of this shade style uses, their code is emitted before the preambles of the stages that read their names
Counts the changes of the structure of this shade style: its code, parameter types and outputs
Represents the preamble for vertex shading code in the shade style. This property is used to define custom vertex processing logic and, when modified, marks the state as dirty to trigger a necessary update.
Specifies a transformation applied to the vertex shader in the form of a string.
Functions
Binds an ArrayCubemap as an image to be used in computations such as shaders. Validates the presence of an existing image binding with the specified name and configures the binding using the given ArrayCubemap and mipmap level.
Sets name to a parameter that is resolved in the shader, read from a texture or computed by GLSL code
This shade style with its dynamic parameters and libraries resolved: the shade style itself when it has none, otherwise a shade style that reads them through resolver functions and has the code of the libraries it uses in its preambles. Shade style managers use it to make shaders.