我正在寻找一种理解为什么需要glActiveTexture
的方法。我有下面的代码:
glGenTextures(1, &textureId);
glBindTexture(GL_TEXTURE_2D, textureId);
如果我想象
GL_TEXTURE_2D
是卡在墙上的图片框架,而textureId
是真实的图片,那么glBindTexture
是将真实图片分配给框架的唯一命令,那么GL_TEXTURE0
和glActiveTexture
是什么?我的以下代码能正常工作吗?
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,依此类推。