![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
The IConstantBufferParameterGroup graph node interface.
A parameter group collects references to a number of individual Graph::IConstantBufferParameter nodes, which together make up a logical block of uniform variables in a GPU shader program.
Parameter groups essentially employ the "constant buffer" or "uniform buffer" concept of DirectX 10+ and OpenGL|ES 3.0+, which allows for efficient variable state switching during rendering, as well as efficient updates of individual groups of variables with different update frequencies. API versions below the versions mentioned above do not (necessarily) implement this concept; however, in the Murl Engine it is necessary to follow this scheme to be compatible in both directions.
For this reason, a parameter group is defined using a given group name, which must match the name of a group defined in the shader code (if the API demands so).
A number of individual generic parameter groups must be grouped together in a Graph::IConstantBufferParameters container, which can then be activated for rendering in the same way as Graph::IFixedParameters nodes.
See the Graph::IConstantBuffer base interface for accessing the underlying data buffer. See the Graph::IParameters interface for additional information.
Murl.Graph.IConstantBufferParameterGroup.CONSTANT_BUFFER_PARAMETER_GROUP_FLAG_MODIFIED | |
Murl.Graph.IConstantBufferParameterGroup.CONSTANT_BUFFER_PARAMETER_GROUP_FLAG_FORCE_UPDATE | |
Murl.Graph.IConstantBufferParameterGroup.CONSTANT_BUFFER_PARAMETER_GROUP_FLAG_CHANGED |
Get the constant Graph::INode interface. This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.
Murl.Graph.INode GetNodeInterface()
Set the group name, (constant buffer or uniform buffer name). Once initialized, the name cannot be changed.
name | The name. |
Get current flags.
Integer GetConstantBufferParameterGroupFlags()