了解OpenGL状态关联

时间:2011-12-11 07:40:38

标签: opengl-es opengl-es-2.0

我已经使用OpenGL很长一段时间了,但我总是对它的状态管理系统感到困惑。特别是我遇到的问题是确切地了解存储特定状态的对象或目标。

例如1:指定纹理参数。这些参数是与纹理本身或纹理单元一起存储的吗?将纹理与不同纹理单元绑定会移动这些参数设置吗?

例如2:glVertexAttribPointer - 究竟与之相关的是 - 它是活动着色器程序,绑定数据缓冲区,ES上下文本身?如果绑定不同的顶点缓冲区对象,是否需要再次调用glVertexAttribPointer?

所以我不是要求上述问题的答案 - 我问这些答案是否写在某处,所以每次我使用新的东西时都不需要做整个试验和错误的事情。

1 个答案:

答案 0 :(得分:3)

这些答案都写在OpenGL ES 2.0 specification(PDF链接)中。每个函数都说明了它所影响的状态,并且最后有一大堆表指定哪个状态是哪个对象的一部分,或者只是全局上下文的一部分。