52 if (this->shaderId ==
shaderId)
return;
81 void setShaderParameter(
const string& parameterName,
const string& parameterValueString);
93 auto& parameterValue = it.second;
94 switch(parameterValue.getType()) {
98 hash+= to_string(parameterValue.getBooleanValue());
101 hash+= to_string(parameterValue.getIntegerValue());
104 hash+= to_string(
static_cast<int>(parameterValue.getFloatValue() * 100.0f));
108 auto& shaderParameterArray = parameterValue.getVector2Value().getArray();
109 for (
auto i = 0; i < shaderParameterArray.size(); i++) {
110 if (i != 0)
hash+=
",";
111 hash+= to_string(
static_cast<int>(shaderParameterArray[i] * 100.0f));
117 auto& shaderParameterArray = parameterValue.getVector3Value().getArray();
118 for (
auto i = 0; i < shaderParameterArray.size(); i++) {
119 if (i != 0)
hash+=
",";
120 hash+= to_string(
static_cast<int>(shaderParameterArray[i] * 100.0f));
126 auto& shaderParameterArray = parameterValue.getVector4Value().getArray();
127 for (
auto i = 0; i < shaderParameterArray.size(); i++) {
128 if (i != 0)
hash+=
",";
129 hash+= to_string(
static_cast<int>(shaderParameterArray[i] * 100.0f));
TDME2 engine entity shader parameters.
EntityShaderParameters()
Public constructor.
const string & getShaderParametersHash() const
~EntityShaderParameters()
Destructor.
map< string, ShaderParameter > parameters
void computeHash()
Compute shader parameters hash.
void setShaderParameter(const string ¶meterName, const ShaderParameter ¶meterValue)
Set shader parameter for given parameter name.
void setShader(const string &shaderId)
Set shader.
const ShaderParameter getShaderParameter(const string ¶meterName) const
Returns shader parameter for given parameter name, if the value does not exist, the default will be r...
Shader parameter model class.