当我说存储布局时,我的意思是我用glVertexAttribPointer
定义的内容。此状态是保存在当前绑定的 VAO 中还是我绑定到GL_ARRAY_BUFFER
的缓冲区中?
一个 VAO 中不能有多个"存储布局"。这与不能在一个纹理对象中具有多个纹理的原因相同。或者一个缓冲区对象中的多个缓冲区。等等。
VAO 是"存储布局"。因此,如果您需要多个布局,则需要多个 VAO。
或者你可以修改现有的VAO的状态;它们不是不可变的。但这有点违背了VAO的目的。
你给glVertexAttribPointer 的"描述"存储在VAO状态。
因此,对于相同的 VCO,您可以在同一 VAO 的不同属性或其他 VAO 中对其进行不同的设置。