首先在VBO中定位,内部有不同的对象

时间:2013-10-10 21:51:00

标签: c++ opengl vbo

我有一个VBO,我正在存储两个不同的对象。 对象A由顶点,颜色和纹理坐标组成。 对象B由顶点和颜色组成。

现在我要做的就是使用键盘按钮在两个模型之间切换。到目前为止,我已经设法隔离了第一个模型,但是我遇到了一些问题,试图找到一个告诉glDrawArrays第二个模型开始和结束的好方法。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

据我了解,您希望隔离/使用存储在单个VBO中的不同模型。

使用:glDrawArrays(mode, first, count);

我猜您已经计算出firstcount错误,请记住您需要多个firstcount以及每张脸使用的数量顶点。如果模式为GL_TRIANGLES,则每个面的顶点数量为3。

然后你想这样称呼它:

glDrawArrays(mode, faces_to_skip * 3, count_faces_to_use * 3);

请记住,count是总大小,而不是first

的大小/偏移量