|
本帖最后由 qele 于 2010-3-5 11:53 编辑
一个Geometry对象g1,使用VBO
g1->setUseVertexBufferObjects( true );
并设置其顶点数组
g1->setVertexArray( _myArray.get() );
显示没有问题,一切正常。
当窗口和g1销毁之后(顶点数组_myArray依然存在),重新创建一个新窗口以及Geometry对象g2,
g2->setUseVertexBufferObjects( true );
这里,设置g2与g1相同的顶点数组_myArray,
g2->setVertexArray( _myArray.get() );
此时,g2的几何体对象绘制函数报错,
DrawElementsUInt::draw(...)
{
...
glDrawElements(...));//指针报错
...
}
解决方法:
1,g1和g2不使用VBO。
2,g1和g2分别使用_myData的一份新拷贝数据
请教各位还有更好的解决方法吗?
报错的原因是什么? |
|