查看: 2321|回复: 2

Warning:detected OpenGL error 'out of memory' at after RenderBin::draw<..>

[复制链接]

该用户从未签到

发表于 2014-7-11 11:40:55 | 显示全部楼层 |阅读模式
请问一个很小的模型
结构如下
Group
   PagedLOD
     Geode
   PagedLOD
     Geode  
   PagedLOD
     Geode  
   PagedLOD
     Geode
-------------------------
大小 139K

代码
osgViewer::Viewer;
osg::Group* root=new osg::Group;
osg:agedLOD* lod1=new osg::PagedLOD;
lod1.serFileName(0,"***.osgx");
lod1->setRange(0,0,2000);//自己大概设置的
root->addChild(lod1);
viewer.getDatabasePager()->setTargetMaximumNumberOfPageLOD(10);
viewer.getDatabasePager()->setDoPreCompile(true);
viewer.getCamera()->setLODScale(1.0);
viewer.setSceneData(root);


运行后 报错
Windows已在Test23.exe中触发了一个断点
其原因可能是堆被损坏,这说明Test23.exe中或它所加载的任何DLL中有Bug。
原因也可能是用户在Test123.exe具有焦点时按下了F12。

调用堆栈
落到osg100-osgd.dll! osg::Operation Thread::run()

程序焦点则落在 OperationThread.cpp文件中的
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_threadMutex)这一行

点击继续按钮后程序继续运行

黑色窗口弹出消息
Warning:detected OpenGL error 'out of memory' at after RenderBin::draw<..>


加载其他同样结构的数据都没有问题,只有某几个文件有问题,查了里面的坐标点,没有异常点(过大或者过小的点值)出现,请问这个是什么情况?
请哪位大侠指导一下,小女子不胜感激!!!!

该用户从未签到

 楼主| 发表于 2014-7-11 14:26:30 | 显示全部楼层
顶一下别沉了

该用户从未签到

发表于 2014-7-31 11:02:44 | 显示全部楼层
out of memory的唯一原因就是显存耗尽了,所以您这恐怕不是一个非常小的模型,或者它带有异常大的纹理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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