我有两个 VBO,一个充满数据,另一个充满该数据的索引。两者都是不同网格的串联。有没有办法以这种格式绘制这些东西?
视觉上:
Each [] denotes a mesh
Vertex VBO: [ vertex data ][ vertex data ][ vertex data ]
Index VBO: [indices into ^][indices into ^][indices into ^]
有没有办法指定索引数组和顶点数组的偏移量?所有数据都具有相同的格式。
如果绑定了 VBO,则 glVertexAttribPointer(以及遗留的 gl…Pointer)函数确实将字节偏移量作为其“数据”参数。我建议您不要将数字转换为,而是void*
将函数签名转换为uintptr_t
(在 stdint.h 中找到),这实际上应该发生。
以同样的方式,您可以使用 glDrawElements 偏移到索引数组中:如果有一个索引缓冲区绑定,则它需要一个字节偏移到缓冲区中。
另一种方法是使用glDrawElementsBaseVertex。