2012-03-12 64 views
47

我有一个关于如何通过glUniform1i设置纹理的问题。我看到下面的代码。为glUniform1i设置纹理

glActiveTexture(GL_TEXTURE0); 
glBindTexture(GL_TEXTURE_2D, texture0); 
glUniform1i(_textureUniform, 0); 
glActiveTexture(GL_TEXTURE1); 
glBindTexture(GL_TEXTURE_2D, texture1); 
glUniform1i(_textureUniform, 1); 

这是否意味着,如果我用在glUniform1i数量i,那么我必须使用glActiveTexture(GL_TEXTURE **i**)

回答

45

是的,你是对的。采样器的统一值是指纹理单元,而不是纹理ID。