【发布时间】:2016-02-05 18:45:21
【问题描述】:
我有一个背景纹理和透明层纹理。
当我加载这些纹理时,只有 _layer3 最终纹理处于活动状态。
我希望所有纹理都处于活动状态,以便我知道要进一步处理的图层。
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,您在每次纹理绑定后覆盖制服的绑定。
-
你好,你能分享多个纹理的示例着色器吗?