在OpenGL兼容性规范中,它表示必须启用顶点attrib数组零吗?

问题描述 投票:0回答:1

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

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

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

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

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

opengl specifications
1个回答
0
投票

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

正如我在this answer中详细指出的那样,通过将glDraw*命令的行为定义为等于一系列立即模式渲染命令,其中[[ C0]命令(别名为属性索引0)实际上是creates发送到管道的顶点。 [您可以在2.8.1节“绘图命令”的OpenGL 3.2的兼容性配置文件规范中(以及仅在此规范中)找到该语言,直到GL 4.2兼容(该部分已重命名为2.8.2)那里)。

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

© www.soinside.com 2019 - 2024. All rights reserved.