它在OpenGL兼容性规范中的何处表明必须启用顶点attrib数组零?

我最近遇到了一个已知的OpenGL兼容性错误,此错误已得到修复。在寻找解决方案的过程中,我发现this answer详细地描述了该问题,但是在3.2或3.3(兼容性)规范中,我找不到任何必须启用数组零的引用。

答案表明OpenGL 4.3中的措词已更改,以澄清和修复此错误,但并未引用该措词所在的任何文本或部分。我已经阅读了特定的区域,并且只能在OpenGL 4.5中找到可能与之相关的更改:

设置任何通用顶点属性会更新的当前值 属性。此外,将通用顶点属性设置为零 指定一个顶点,如第10.7.21节所述。

这过去曾排除顶点属性数组零,但此后已更改为“任何”通用顶点属性,因此包括了顶点属性零。

在哪里以及哪个OpenGL规范要求必须启用顶点attrib数组零? 其次,在哪里可以阅读4.3规范中的更改,以澄清此特定问题?

kankan07 回答:它在OpenGL兼容性规范中的何处表明必须启用顶点attrib数组零?

我无法在3.2或3.3(兼容性)规范中找到任何必须启用数组零的引用。

正如我在this answer中详细指出的那样,通过glDraw*命令的行为被定义为等于一系列序列,从而暗示了顶点属性0的要求。立即模式渲染命令,其中glVertex命令(别名为属性索引0)实际上创建发送到管道的顶点。

您可以在2.8.1节“绘图命令”的OpenGL 3.2的兼容性配置文件规范中(仅在那里)找到该语言,直到GL 4.2兼容(该部分刚刚重命名为2.8)为止。 2个。)

使用GL4.3,对规范进行了全面修订,并且语言完全更改。现在,在Compat配置文件中使用顶点阵列进行绘制时,没有引用立即模式,就像之前已从核心配置文件中删除它一样。关于此问题,第10.5节“使用顶点数组绘制命令”现在在核心概要文件和compat概要文件中基本相同。

本文链接:https://www.f2er.com/2750541.html

大家都在问