在我的顶点着色器中
in float data[6];
Run Code Online (Sandbox Code Playgroud)
这意味着,如果我有100个顶点,则要传递600个浮点数。 glVertexAttribPointer
仅支持最大为4的尺寸。如果我使用1,那么它将自动拾取6个元素吗?
glsl中的属性数组被视为具有连续属性位置的许多独立属性。您必须分别为每个顶点设置顶点属性指针。
如果使用来查询第一个元素的位置idx = glGetAttribLocation(program_index, "data")
,data[1]
则将具有location idx + 1
。然后,您可以遍历它们,glVertexAttribPointer*
并为每个数组元素使用索引和正确的字节偏移量进行调用。