【问题标题】:UML diagram for OpenGL ES 2.0 state?OpenGL ES 2.0 状态的 UML 图?
【发布时间】:2012-11-21 17:44:43
【问题描述】:

谁能提供描述 OpenGL ES 2.0 状态机的 UML 图?

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

我之所以会非常感兴趣,是因为我经常发现自己想知道以下问题:

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

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

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

【问题讨论】:

  • OpenGL ES 2.0 规范第 6.2 章有状态表显示什么状态与什么对象相关联。您的示例问题的答案很容易查找:使用 glTexParameter 设置的所有内容都是纹理对象状态(表 6.8)。顶点属性是程序对象的状态(表 6.15)。 UML 在这里没有添加太多恕我直言。
  • 我以前没有看过这些表格。它们似乎确实包含我要查找的内容,因此感谢您指出。 FWIW,我仍然认为 GL 的图形表示会很有用。

标签: opengl-es uml opengl-es-2.0


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-10
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    相关资源
    最近更新 更多