|
本帖最后由 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:用了两个同事写的例子来测试这个问题,得出的结论,所以应该不是代码的问题,就不上代码了..... |
|