OpenGL核心配置文件中已删除的功能列表

17

有没有OpenGL 3.3以上的全面列表可以查找哪些函数已被弃用或不再可用?

比如,glLoadIdentity()我不知道它是否已被移除。

我查看了OpenGL 4.1参考页面,但在那里没有找到它。我能否安全地假设这是一个已删除的功能?有什么方法可以知道该函数是否还存在?

参考页面上说,“这些手册只记录核心上下文。”这是什么意思?那个参考页面上缺少哪些内容?

什么是兼容性配置文件?是否有关于特定版本OpenGL中可用功能的全面列表?


1
核心profile/context是OpenGL,移除了所有废弃的内容。兼容性profile则是为了向后兼容,把所有废弃的内容都加了回去。 - Incredulous Monk
1
对于您来说,像glLoadIdentity这样的方法已经过时是显而易见的。现代OpenGL强制您编写自己的矩阵并手动将其传递到着色器程序中。 - Michael IV
3个回答

29

我已经创建了这个

输入图像描述

希望它能够有用。请修复您发现的任何错误。


这让我感到惊讶。这正是我正在寻找的。你是如何做到的?你解析了文档/代码或者逆向工程来整理它吗?我很好奇。 - Quazi Irfan
1
@iamcreasy "核心推广"扩展列表在OpenGL规范的附录中。还列出了“ARB推广”的扩展。扩展是否为遗留版本是从gl.spec文件(字段已弃用)中获取的。每个规范都有一个要求列表和它所创建的规范版本。 - user206334
1
"我已经创建了这个!" 在这张表格上有多个创建者,所以我不认为你是创建者。 - vallentin
@Vallentin 我想他的意思是他开始了这个文档。文档中有一些内容表明该文件是公开可编辑的,有人写道,谁开始这个想法是一个好主意。 - c_str

14
如果您想获得所有被弃用的函数的完整列表,请查看 gl.spec XML规范文件 (旧格式已不再可用)。每个被弃用的函数都有一个带有版本号的deprecated条目。另外,要获取高级概述,请参阅tjm的答案。

文件开头有一些注释,但遗憾的是只有这些。还有一些其他文件旨在将规范文件中使用的伪类型(例如gl.tm)转换为实际类型。但总的来说,这需要一些猜测。规范文件也不是完全一致的。函数后面缩进的字段99.9%是正确的(VertexAttribDivisorARB上缺少alias条目是一个值得注意的例外)。通常还会在注释和passthru中传达信息,但这些格式和完整性非常不一致 - 不要依赖它们。 - Damon
你的意思是说,我不应该依赖于你给我的页面上的规范?或者这些细节不是100%正确的?我是一个新手,对我来说,只要知道是否已弃用就足够了。这些信息至少是正确的吗? - Quazi Irfan
1
顺便说一句,如果你好奇的话,我曾经也问过自己和你一样的问题,甚至编写了一个规范解析器/代码生成器,用于根据给定的版本/扩展列表组合生成最小化的初始化代码(是的,我知道这很荒谬,但我喜欢小型可执行文件)。 - Damon
1
就像我说的那样,如果你坚持使用实际数据字段,你可以依赖我提供的规范。在大约一千个函数中,我只知道一个缺失的条目(这是一个非常好的质量标准,可能比大多数其他文档更好)。但是,遍布各处的注释和“passthru”部分很诱人,因为它们以易于阅读的简洁形式提供信息,但是这些信息并不总是准确的,这就是为什么我要警告你的原因。 :-) - Damon
1
@cosarara97:你说得对,规范文件已经被一个类似但不兼容的XML表示所替代,而且那个也很难找。我会更新链接的。谢谢你的注意。 - Damon
显示剩余5条评论

7

不确定这是否是您要寻找的内容,但如果您访问http://www.opengl.org/registry/,那里有一份“OpenGL 3.3核心规范”PDF文档。在第342页上是“弃用和删除功能”。

还有4.0和4.1的“核心规范”,我认为它们将具有类似的条目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接