我有一个背景纹理和透明图层纹理。 当我只加载这些纹理时_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