首先在内部具有不同对象的 VBO 中定位
Posted
技术标签:
【中文标题】首先在内部具有不同对象的 VBO 中定位【英文标题】:Locating first in a VBO with different objects inside 【发布时间】:2013-10-10 21:51:00 【问题描述】:我有一个 VBO,其中存储了两个不同的对象。 对象 A 由顶点、颜色和纹理坐标组成。 对象 B 由顶点和颜色组成。
现在我在这里要做的是使用键盘按钮在两个模型之间切换。到目前为止,我已经设法隔离了第一个模型,但是我在试图找到一种告诉 glDrawArrays 第二个模型开始和结束位置的好方法时遇到了问题。谁能帮我解决这个问题?
【问题讨论】:
【参考方案1】:据我了解,您希望隔离/使用存储在单个 VBO 中的不同模型。
使用:glDrawArrays(mode, first, count);
我猜你计算了first
和count
错误,记住你需要将first
和count
与每个面使用的顶点数量相乘。如果模式为GL_TRIANGLES
,则每个面的顶点数为3。
那你想这样称呼它:
glDrawArrays(mode, faces_to_skip * 3, count_faces_to_use * 3);
记住count
是总大小,而不是与first
的大小/偏移量
【讨论】:
以上是关于首先在内部具有不同对象的 VBO 中定位的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上使用具有多个 VBO 和 IBO(多个对象)OpenGLES 2 的 VAO 进行绘制
使用在内部结构定义中保存函数的类成员变量,这些函数将用作 unordered_map 对象的模板参数