我正在寻找一种理解为什么需要glActiveTexture的方法。我有下面的代码:

glGenTextures(1, &textureId);
glBindTexture(GL_TEXTURE_2D, textureId);

如果我想象GL_TEXTURE_2D是卡在墙上的图片框架,而textureId是真实的图片,那么glBindTexture是将真实图片分配给框架的唯一命令,那么GL_TEXTURE0glActiveTexture是什么?

我的以下代码能正常工作吗?
glActiveTexture(GL_TEXTURE0);
glGenTextures(1, &textureId);
glBindTexture(GL_TEXTURE_2D, textureId);

glActiveTexture(GL_TEXTURE1);
glTexImage2D(GL_TEXTURE_2D, .....)
glTexParameteri(GL_TEXTURE_2D, ...)

我目前正在使用OpenGL2.1。

最佳答案



其实是一个很好的类比:)



考虑一下具有多个相框的墙,第一个相框标记为GL_TEXTURE0,第二个相框标记为GL_TEXTURE1,依此类推。

10-07 19:17