У меня есть одна текстура фона и прозрачная текстура слоя для этого. Когда я загрузил только эти текстуры _layer3
активна последняя текстура.Несколько активных текстур opengl
Я хочу, чтобы вся текстура была активной, чтобы я знал, что слой будет продолжен.
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture[0]);//texture _floorTexture
glUniform1i(_textureUniform, 0);
//glUniform1i(glPrograms[currentProgram].glUniforms[_textureUniform],_floorTexture);
glActiveTexture(GL_TEXTURE0 + 1);
glBindTexture(GL_TEXTURE_2D, texture[1]); //_layer0
glUniform1i(_textureUniform, 1);
glActiveTexture(GL_TEXTURE0 + 2);
glBindTexture(GL_TEXTURE_2D, texture[2]); //_layer1
glUniform1i(_textureUniform, 2);
glActiveTexture(GL_TEXTURE0 + 3);
glBindTexture(GL_TEXTURE_2D, texture[3]); //_layer2
glUniform1i(_textureUniform, 3);
glActiveTexture(GL_TEXTURE0 + 4);
glBindTexture(GL_TEXTURE_2D, texture[4]); //_layer3
glUniform1i(_textureUniform, 4);
Если вы хотите использовать несколько текстур, вам также потребуется несколько пробников в затенении и объединить их результаты. Atm, вы переопределяете привязку униформы после каждой привязки текстуры. – BDL
привет, вы могли бы поделиться образцом шейдера для нескольких текстур? – SathiyaKrishnan