Я пытаюсь отправить логическое значение в шейдер OpenGL glsl.
В настоящее время у меня это в шейдере:
uniform bool foo;
И я использую это, чтобы установить его:
glUniform1i(glGetUniformLocation(shader, "foo"), true);
Кажется, что нет glUniform1b
, поэтому я устанавливаю его как целое число. Кажется, что это нормально.
Есть ли какие-либо проблемы с этим подходом? Является ли он переносимым или может быть поврежден на других видеокартах/драйверах? Я использую OpenGL 4.3 на данный момент.