# SetShaderConstantByName

## Description

Sets a shader constant by name, the constant must be marked as "uniform" in the shader source. This will affect all objects drawn using this 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

SetShaderConstantByName( shaderID, szName, value1, value2, value3, value4 )

void agk::SetShaderConstantByName( unsigned int shaderID, const char *szName, float value1, float value2, float value3, float value4 )

## Parameters

- shaderID - The ID of the shader 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.