Ich versuche, eine boolean zu einem OpenGL GLSL Shader zu senden.OpenGL Bool Uniform?
Zur Zeit habe ich diese im Shader:
uniform bool foo;
Und ich benutze diese es zu setzen:
glUniform1i(glGetUniformLocation(shader, "foo"), true);
Es ist kein glUniform1b
zu sein scheint, so dass ich es einstellen als ganze Zahl. Dies scheint gut zu funktionieren.
Gibt es irgendein Problem mit diesem Ansatz? Ist es tragbar oder könnte es bei anderen Grafikkarten/Treibern kaputt gehen? Ich bin mit OpenGL 4.3 im Moment.
Soweit ich weiß, es hat etwas mit 4-Byte-alingment zu tun (boolean ist 1 Byte, so oder so 3 zusätzliches Füllbytes wird am Ende hinzugefügt werden) so boolean Verwendung ist nicht effizient und maby sogar schon gar nicht als veraltet in OpenGL veraltet – Amadeusz
@Amadeusz es. –