2011-12-11 53 views
3

我一直在使用OpenGL很长一段时间,但我总是感到困惑,它的状态管理系统。特别是我所面临的问题是明确地了解某个特定状态所针对的对象或目标。了解OpenGL状态关联

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

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

所以我不是要求上述问题的答案 - 我问这些答案是否写在某个地方,所以我不需要每次使用新的东西时都要做整个反复试验。

回答

3

这些答案都写在OpenGL ES 2.0 specification(PDF链接)。每个函数都说明它影响的是什么状态,最后还有一大串表格指定哪个状态是哪些对象的一部分,还是全局上下文的一部分。