3

任何人都可以提供描述 OpenGL ES 2.0 状态机的 UML 图吗?

理想情况下,这样的图应该描述诸如纹理有宽度、高度、类型、内部格式等;程序附加了着色器,可能会或可能不会链接,有制服等;等。

我会非常感兴趣的原因是因为我经常发现自己想知道以下事情:

  • 纹理参数(用 设置glTexParameter)是否与当前纹理或纹理单元相关联?
  • 启用的广义向量属性集是当前绑定的 VBO 的一部分吗?还是当前计划的一部分?还是全球性的?

拥有 OpenGL 的 UML 图对于一目了然地回答这些问题非常有用,而不必翻阅大量的文档来试图弄清楚所有不同的组件如何协同工作。

我意识到寻找这个是一个很长的尝试,因为我认为这是一个巨大的努力。不过,我认为这将非常有用。即使是部分答案也会有很大帮助。同样,除我所针对的版本(ES 2.0)之外的某个版本的 OpenGL 图表也会很有用。

4

1 回答 1

2

OpenGL Insights 书的网站为 OpenGL 4.2 和 OpenGL ES 2.0 的整个渲染管道提供了 UML 状态图:http: //openglinsights.com/pipeline.html

该图大致显示了阶段的交互以及每个状态涉及的 GL 对象,并显示了描述这些对象的规范章节。

该图没有显示的是所涉及对象的状态,但您可以在规范本身中找到它。在 OpenGL ES 2.0 规范第 6.2 章中,所有对象和方面都列出了它们的状态以及如何访问它。

因此,如果您使用规范中的表格编号注释状态图,您或多或少拥有您想要的一切。

于 2012-12-05T18:06:49.507 回答