Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 为什么GlenableVertexAttributeArray中需要索引参数?_Opengl_Shader_Vertex Shader_Vao - Fatal编程技术网

Opengl 为什么GlenableVertexAttributeArray中需要索引参数?

Opengl 为什么GlenableVertexAttributeArray中需要索引参数?,opengl,shader,vertex-shader,vao,Opengl,Shader,Vertex Shader,Vao,使用GLVertexAttributePointer,opengl实现已经知道顶点着色器顶点属性对象中的哪个属性位置/索引被绑定,那么为什么需要在GlenableVertexAttributeArray中再次提供属性索引呢?我认为在使用glBindVertexArrayVAO之后;仅仅使用GlenableVertexAttributeArray就足够了?为什么需要提供两次属性索引;一个在GlvertexAttributePointer中,一个在GlenableVertexAttributeArr

使用GLVertexAttributePointer,opengl实现已经知道顶点着色器顶点属性对象中的哪个属性位置/索引被绑定,那么为什么需要在GlenableVertexAttributeArray中再次提供属性索引呢?我认为在使用glBindVertexArrayVAO之后;仅仅使用GlenableVertexAttributeArray就足够了?为什么需要提供两次属性索引;一个在GlvertexAttributePointer中,一个在GlenableVertexAttributeArray中? 请容忍我,我是初学者,我还不知道OpenGL的所有方面


[这个问题不是重复的,因为有些人试图将其标记为重复,以重定向到他们对一些不相关问题的答案以获得评级,这是自私的行为!如果你不知道如何回答,请不要将问题标记为重复来破坏这个问题。]

因为可以使用将顶点属性设置为所有元素的常量值。是的,你也可以用统一的方法来达到同样的效果,但是这种基于属性的选择,从OpenGL-1.1开始,就已经存在了很长一段时间了,虽然那时它不是通用属性,而是特定属性,即位置、颜色、,法线等等,这一遗留问题会影响到通用顶点属性