Open VE3NEA opened 1 year ago
This statement does not change the integer uniform:
shaderProgram.SetUniform1(gl, "my_texture", 1);
This one works orrectly:
gl.Uniform1(shaderProgram.GetUniformLocation(gl, "my_texture"), 1);
The problem with the first statement is that the third parameter of SetUniform1 is declared as float, so if an int value is passed, it is typecasted to float before the call to gl.Uniform1.
SetUniform1
float
int
gl.Uniform1
This got me as well! Took us a week to figure it out before my friend found this ticket...
This statement does not change the integer uniform:
This one works orrectly:
The problem with the first statement is that the third parameter of
SetUniform1
is declared asfloat
, so if anint
value is passed, it is typecasted to float before the call togl.Uniform1
.