Murl Engine Lua Addon API  Version 1.0 beta
Murl.Graph.IConstantBufferParameterGroup

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.


Table members

Inherited


Murl.Graph.IConstantBuffer

Enumerations


ConstantBufferParameterGroupFlags

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


Functions



Methods


GetNodeInterface()

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()

Returns
Murl.Graph.INode The constant Graph::INode interface, or null if not available

SetName(name)

Set the group name, (constant buffer or uniform buffer name). Once initialized, the name cannot be changed.

Boolean SetName(String name)

Parameters
nameThe name.
Returns
Boolean true if successful.

GetConstantBufferParameterGroupFlags()

Get current flags.

Integer GetConstantBufferParameterGroupFlags()

Returns
Integer A bit mask made up from individual ConstantBufferParameterGroupFlags values.