首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何混合使用VBO和不使用VBO绘图

如何混合使用VBO和不使用VBO绘图
EN

Stack Overflow用户
提问于 2013-04-14 19:21:23
回答 2查看 115关注 0票数 0

由于OpenGL绘制调用受到最近绑定的VBO的影响,如果您还想要绘制在现场动态创建的不在VBO中的顶点,那么如何解除对VBO的绑定?

我看过的示例中没有一个像禁用属性数组指针那样禁用VBO缓冲区。也许这并不是特别常见,因为大多数应用程序要么拥有VBO中的所有内容,要么什么都没有,也许这两种情况混合在一起并不常见。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 01:24:46

要解除绑定VBO,只需在第二个参数设置为0的情况下调用glBindBuffer

保留值为零,但每个缓冲区对象目标没有默认的缓冲区对象。相反,设置为零buffer有效地解除了先前绑定的任何buffer对象的绑定,并恢复了buffer对象目标的客户端内存使用。

然后,您必须绑定另一个VBO或从客户端内存中提取。

票数 0
EN

Stack Overflow用户

发布于 2014-03-04 23:55:13

另外,记得在混合VBO和非VBO时禁用属性指针。当你调用时:

代码语言:javascript
复制
GLES20.glEnableVertexAttribArray(positionHandle);

后面应该跟一个:

代码语言:javascript
复制
GLES20.glDisableVertexAttribArray(positionHandle);

完成绘图后,您可以使用其他绘图方法(VBO或非VBO)重新启用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15998510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档