【发布时间】:2013-04-10 23:43:28
【问题描述】:
我正在使用支持 OpenGL 模式的 Ogre3d 引擎。
我有一个名为Chunk 的对象,它创建了一个Ogre::ManualObject。因为ManualObject 的创建需要一些时间,所以我将任务放到了一个新线程上。
不幸的是,在创建ManualObject 之后,我现在得到以下 OgreException:
"无法在 GLHardwareVertexBuffer::GLHardwareVertexBuffer 中创建 GL 顶点缓冲区"
我查看了代码,它失败了at this stage:
glGenBuffersARB( 1, &mBufferId );
if (!mBufferId)
{
OGRE_EXCEPT(Exception::ERR_INTERNAL_ERROR,
"Cannot create GL vertex buffer",
"GLHardwareVertexBuffer::
}
这表明 glGenBuffersARB() 没有正确填充 mBufferId。
我不知道是什么原因造成的,有什么建议吗?
【问题讨论】:
-
在致电
glGenBuffersARB()之前和之后,glGetError()会告诉你什么?
标签: c++ visual-c++ opengl ogre3d