这主要是一个文档问题。我希望这是一个适当的地方,而不是例如程序员或stackoverflow。
我没有阅读OpenGL规范,但是从书籍(《红皮书》)和各种教程中,我无法正确掌握API的不同对象和部分是如何交互和关联的。
例如,我知道如果绑定了VAO,则绑定VBO并设置属性将导致VBO绑定到VAO。
但是对象很多,它们之间的关系可能会有所不同。例如,VAO与当前的着色程序完全无关,但是绘制操作的结果可能取决于两者。
在所有各种OpenGL组件中,我可以看到一些诸如C绑定到B或A和B的关系。所有这些关系在确定如何改变上下文状态,如何改变事物,如何将事物保存在一起并进行优化方面是一致的。
我要寻找资源解释只是这些关系。就像UML图,图形,甚至是文本文档一样,它们不关注调用,而是以紧凑的方式描述了各种OpenGL组件如何交互以及如何相互关联。
您知道在哪里可以找到这样的资源吗?
3
好问题。我已经启动并运行了整个OpenGL库/引擎,而没有对该关键问题的明确答案。
—
david van
绑定VBO不会将其绑定到VAO。而是使用来实现的
—
Dietrich Epp 2015年
glVertexAttribPointer()
。OpenGL对象的图将很浅且很简单,实际上OpenGL中只有少数几个不同的对象。VAO将缓冲区用于属性。缓冲区纹理由缓冲区支持。帧缓冲区具有纹理附件。绘图命令使用当前的VAO,当前的程序,当前的帧缓冲区,当前的采样器设置以及当前的索引缓冲区/间接缓冲区。您可能自己绘制了该图。
抱歉,我不会为你画画。
—
Dietrich Epp,2015年
好问题,从我的立场出发,祝您好运得到一个全面的答案,而不必花很多钱。
—
工程师
OpenGL的设计很好地说明了为什么不应该使用全局变量
—
glampert 2015年
;)
(整个API就是一堆巨大的全局数据)