SetObjectShaderConstantByName
Description
Sets a shader constant for an object by name, the constant must be marked as "uniform" in the shader source. The object will use the specified value with any shader that is applied to the object. This value will not affect any other objects that use that shader. All shader values have 1 to 4 components, this command accepts 4 values and discards any that are not used by the named variable.
Definition
SetObjectShaderConstantByName( objID, szName, value1, value2, value3, value4 )
void agk::SetObjectShaderConstantByName( uint32_t objID, const char *szName, float value1, float value2, float value3, float value4 )
Parameters
- objID - The ID of the object to modify.
- szName - The name of the constant to change, as defined in the shader source file.
- value1 - The X or R component of the new value, this value will always be used.
- value2 - The Y or G component of the new value, if the constant only uses 1 component this value is discarded.
- value3 - The Z or B component of the new value, if the constant only uses 2 components this value is discarded.
- value4 - The W or A component of the new value, if the constant only uses 3 components this value is discarded.