glBindTextureUnit的替代品,适用于小于4.5?的OpenGL版本



我正在用C++编写一个小型引擎,并试图编写一个批处理渲染器。我可以为4.5版本的系统使用glBindTextureUnit,但像苹果这样的系统没有,因为他们不想更新OpenGL,但你仍然可以使用4.1。那么,对于那些低于4.5的人来说,替代方案是什么呢?

glBindTextureUnit(unit, texture)与几乎相同

glActiveTexture(GL_TEXTURE0 + unit);
glBindTexture(GL_TEXTURE_2D, texture);

唯一的区别是第二个版本将更改活动纹理的全局状态。当使用2D纹理以外的其他东西时,可能必须调整glBindTexture的第一个参数。

最新更新