查看: 1767|回复: 1

关于VBO使用的问题

[复制链接]

该用户从未签到

发表于 2010-1-14 16:51:38 | 显示全部楼层 |阅读模式
本帖最后由 lyc0 于 2010-1-14 17:02 编辑

开发动态画线的程序中发现VBO有以下问题:

OSG版本:2.8.2
设置Drawable::setUseVertexBufferObjects(true),
同时设置Drawable::setUseDisplayList(false)
相关对象都设置了VBO渲染的几何体为DYNAMIC

此时会出现两种情况:
1. 当对颜色的绑定为BING_OVERALL时候, 在我的电脑上面完全没问题,但是在其他电脑(某些)上面运行时候,刚画一条线(随鼠标移动),程序会突然崩掉,
程序死在  
static void _callthreadstartex(void) 中
然后经过测试,当我把颜色绑定为BING_PER_PRIMITIVE时候,则正常工作了,其他模式均同样错误...

这是什么原因呢??

2. 后面继续研究原因,发现,
颜色的绑定为BING_OVERALL
同时设置Drawable::setUseDisplayList(false)
但是把Drawable::setUseVertexBufferObjects(true)删掉
VBO也正常工作,什么问题都没有,线条也可以动态跟着鼠标移动

所以认为,Drawable::setUseVertexBufferObjects(true)这句话是不是多余的呢?还是OSG的一个BUG ?

PS:用了两个同事写的例子来测试这个问题,得出的结论,所以应该不是代码的问题,就不上代码了.....

该用户从未签到

发表于 2010-1-14 16:55:44 | 显示全部楼层
不设置setUseVertexBufferObjects(true)的话就不是VBO方式了,而是慢速路径!即glBegin/glEnd这种低效的方式。
至于问题一,由于您没有提供足够的信息,因此我无法判断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表