glActiveTexture(GL_TEXTURE0 + 0);
unsigned i, w;
unsigned tex_test = Memento::_LoadImageIntoTexture("ground.png", i, w);
glBindTexture(GL_TEXTURE_2D, tex_test);
glUniform1ui(program.GetUniformLocation("tex"), 0);
会运行良好,我希望将图像正常显示。但是...
glActiveTexture(GL_TEXTURE0 + 1);
unsigned i, w;
unsigned tex_test = Memento::_LoadImageIntoTexture("ground.png", i, w);
glBindTexture(GL_TEXTURE_2D, tex_test);
glUniform1ui(program.GetUniformLocation("tex"), 1);
当我尝试将活动纹理更改为0以外的任何值时,不显示任何内容。这让我疯狂,因为我找不到任何解决方案,而且没有任何意义。帮帮我?
经过glGetError:
无论如何,如果你改变你的代码,这会发生什么? – Tim
是的,很明显。 – Shokwav
看起来很乍看,但这一切都取决于这个'Memento :: _ LoadImageIntoTexture'函数实际上做了些什么...它是在制作一个GL_TEXTURE_2D还是它乱七八糟的东西?也许它强制纹理通道0?加载后尝试激活纹理通道。 – Grimmy