我正在用C++编写一个小型引擎,并试图编写一个批处理渲染器。我可以为4.5版本的系统使用glBindTextureUnit,但像苹果这样的系统没有,因为他们不想更新OpenGL,但你仍然可以使用4.1。那么,对于那些低于4.5的人来说,替代方案是什么呢?
glBindTextureUnit(unit, texture)
与几乎相同
glActiveTexture(GL_TEXTURE0 + unit);
glBindTexture(GL_TEXTURE_2D, texture);
唯一的区别是第二个版本将更改活动纹理的全局状态。当使用2D纹理以外的其他东西时,可能必须调整glBindTexture
的第一个参数。