在 OpenGL 兼容性规范中,哪里说必须启用顶点属性数组零?
Where in the OpenGL compatibility spec does it say that vertex attrib array zero must be enabled?
我最近遇到了一个已知的 OpenGL 兼容性错误,此错误已得到修复。在搜索解决方案时,我发现 this answer 详细描述了该问题,但是我无法在 3.2 或 3.3(兼容性)规范中找到任何说明必须启用数组零的参考资料。
答案说 OpenGL 4.3 中的措辞已更改以澄清和修复此错误,但没有引用该措辞所在的任何文本或部分。我已经通读了特定区域,但只能在 OpenGL 4.5 中找到可能相关的此更改:
Setting any generic vertex attribute updates the current values of the
attribute. In addition, setting generic vertex attribute zero
specifies a vertex, as described in section 10.7.21.
这用于排除顶点属性数组零,但后来更改为 "any" 通用顶点属性,因此包括顶点属性零。
在哪里以及哪些 OpenGL 规范要求必须启用顶点属性数组零?
其次,我在哪里可以阅读 4.3 规范中阐明此特定问题的更改?
I am unable to find any references in the 3.2 or 3.3 (compatibility) specifications that say array zero must be enabled.
正如我在 中详细指出的那样, 隐含 顶点属性 0 的要求被定义为 glDraw*
命令的行为等于一系列立即模式渲染命令,其中 glVertex
命令(别名为属性索引 0)实际上 创建 发送到管道的顶点。
您可以在 2.8.1 "Drawing Commands" 部分的 OpenGL 3.2 兼容性配置文件(并且仅在那里)规范中找到这种语言,直到 GL 4.2 compat(部分刚刚重命名)到 2.8.2 那里)。
在 GL4.3 中,规范被彻底修改,语言也完全改变。在兼容配置文件中使用顶点数组绘制时,现在没有对即时模式的引用,就像它早先已经从核心配置文件中删除一样。关于这个问题,第 10.5 节 "Drawing Commands Using Vertex Arrays" 现在在核心配置文件和兼容配置文件之间基本相同。
我最近遇到了一个已知的 OpenGL 兼容性错误,此错误已得到修复。在搜索解决方案时,我发现 this answer 详细描述了该问题,但是我无法在 3.2 或 3.3(兼容性)规范中找到任何说明必须启用数组零的参考资料。
答案说 OpenGL 4.3 中的措辞已更改以澄清和修复此错误,但没有引用该措辞所在的任何文本或部分。我已经通读了特定区域,但只能在 OpenGL 4.5 中找到可能相关的此更改:
Setting any generic vertex attribute updates the current values of the attribute. In addition, setting generic vertex attribute zero specifies a vertex, as described in section 10.7.21.
这用于排除顶点属性数组零,但后来更改为 "any" 通用顶点属性,因此包括顶点属性零。
在哪里以及哪些 OpenGL 规范要求必须启用顶点属性数组零? 其次,我在哪里可以阅读 4.3 规范中阐明此特定问题的更改?
I am unable to find any references in the 3.2 or 3.3 (compatibility) specifications that say array zero must be enabled.
正如我在 glDraw*
命令的行为等于一系列立即模式渲染命令,其中 glVertex
命令(别名为属性索引 0)实际上 创建 发送到管道的顶点。
您可以在 2.8.1 "Drawing Commands" 部分的 OpenGL 3.2 兼容性配置文件(并且仅在那里)规范中找到这种语言,直到 GL 4.2 compat(部分刚刚重命名)到 2.8.2 那里)。
在 GL4.3 中,规范被彻底修改,语言也完全改变。在兼容配置文件中使用顶点数组绘制时,现在没有对即时模式的引用,就像它早先已经从核心配置文件中删除一样。关于这个问题,第 10.5 节 "Drawing Commands Using Vertex Arrays" 现在在核心配置文件和兼容配置文件之间基本相同。