可以在同一 VBO 中存储不同的顶点属性和索引



(说到OpenGL 3.3(有没有办法在同一VPO中存储不同的顶点属性?我的意思不是与"步幅"交错,我的意思是例如 VBO 开头的位置和 VBO 末尾的纹理坐标。

如果是,那么指数也是如此吗?我是否可以将顶点索引和顶点属性存储在同一个 VBO 中,并将其绑定为绘制元素类型的绘制调用?谢谢!

是的,不需要交错数据。

gl-命令的最后一个参数glVertexAttribPointer()"指定当前绑定到GL_ARRAY_BUFFER目标的缓冲区数据存储中数组中第一个通用顶点属性的第一个组件的偏移量。初始值为 0。

只需自行计算该偏移量并将其传递给命令即可。

我可以将顶点索引和顶点属性存储在同一个 VBO 中吗? 将其绑定为绘制元素类型的绘制调用?

如果您使用不同的glVertexAttribPointer或不同的glDrawxx则没有问题。
你不能做的是同时读取顶点和索引,如果它们有不同的类型(浮点数与整数(和步幅。

最新更新