查看: 1317|回复: 13

求助:osg 在窗口中显示的问题。

[复制链接]

该用户从未签到

发表于 2011-10-3 16:13:16 | 显示全部楼层 |阅读模式
  1. int main()
  2. {
  3. /*osg::ref_ptr<osgViewer::CompositeViewer>viewer=new osgViewer::CompositeViewer();*/
  4. //
  5. osg::ref_ptr<osgViewer::Viewer>viewer1=new osgViewer::Viewer();
  6. osg::ref_ptr<osgViewer::Viewer>viewer2=new osgViewer::Viewer();

  7. int xoffset=50;
  8. int yoffset=200;

  9. osg::ref_ptr<osg::Node>viewer1Node=osgDB::readNodeFile("D:/lianxi_houhuaiyu/database/database/moon_500.ive");/*cow.osg*//**/


  10. {

  11. osg::ref_ptr<osg::GraphicsContext::Traits>traits=new osg::GraphicsContext::Traits();
  12. traits->x=xoffset+0;
  13. traits->y=yoffset+0;
  14. traits->width=600;
  15. traits->height=480;
  16. traits->windowDecoration=true;
  17. traits->doubleBuffer=true;
  18. traits->sharedContext=0;

  19. osg::ref_ptr<osg::GraphicsContext>gc=osg::GraphicsContext::createGraphicsContext(traits.get());

  20. osg::ref_ptr<osg::Camera>camera1=viewer1->getCamera();

  21. camera1->setGraphicsContext(gc.get());

  22. camera1->setViewport(new osg::Viewport(0,0,traits->width,traits->height));

  23. GLenum buffer=traits->doubleBuffer?GL_BACK:GL_FRONT;
  24. camera1->setDrawBuffer(buffer);
  25. camera1->setReadBuffer(buffer);

  26. viewer1->setSceneData(viewer1Node.get());
  27. }


  28. viewer1->realize();
  29. viewer1->run();

  30. return 0;
  31. }
复制代码


运行时会出现内存错误
中断.png


如果去掉图形环境模型能够显示出来,但有一个警告:

detected opengl error ‘out  of  memory ’ at after renderer::complie


如果不去掉图形环境换一个模型也能能正常显示,没有警告。

请高手指点一下是 可能是哪里处理问题 是模型还是图形环境或者是其他的,有什么解决的办法?

该用户从未签到

发表于 2011-10-3 21:43:14 | 显示全部楼层
这个跟你的显卡相关的,可能是的显卡驱动的原因或者对某种特性的支持等原因,建议更新下驱动试试

该用户从未签到

 楼主| 发表于 2011-10-4 17:36:51 | 显示全部楼层
我更新了一下驱动还是不行,还会报那个中断错误。  我也换了几台电脑试了一下。不管加不加图形环境图像都出不来,会发出无数的警告:detected opengl error ‘out  of  memory ’ at after renderer::complie;加了图形环境,窗口能出来,但是没有图形,并且会发出无数的警告:detected opengl error ‘out  of  memory ’ at after renderer::complie
;这个警告是什么意思呢?       我感觉是模型的问题几率大一些。 但是模型是用osg程序画的 然后 写出来的,也不知道问题出在哪里。  很迷惑~~~~,出现这种现象可能使那些特性设置的不对呢?   FlySky 多指点一下~~~       大家都来帮我想想办法~~~

该用户从未签到

 楼主| 发表于 2011-10-4 17:43:56 | 显示全部楼层
回复 3# osg_student


    这是机器的显卡~~~  是显卡对osg的支持有问题吗?

这是机器的显卡

这是机器的显卡

该用户从未签到

发表于 2011-10-4 20:12:47 | 显示全部楼层
没看出啥问题,可能是显卡对osg某些特性支持有些问题吧,你可以用最简单的模型试试

该用户从未签到

 楼主| 发表于 2011-10-5 10:20:05 | 显示全部楼层
用 那个cow.osg 就什么问题都没有 ,如果用简单的模型,就什么问题也没有

该用户从未签到

发表于 2011-10-6 00:42:12 | 显示全部楼层
可能是你的显卡有点高级,对某些特性支持问题,或者你模型的问题

该用户从未签到

 楼主| 发表于 2011-10-7 14:14:18 | 显示全部楼层
应该是模型组织的不合理,我换了一台16G 内存的机器就能能显示了。。    谢谢 flySky

该用户从未签到

发表于 2011-10-8 12:23:00 | 显示全部楼层
16G 内存。。。。
怎么都这么变态的机子啊~~~~~~~~~~

该用户从未签到

发表于 2011-10-8 16:45:40 | 显示全部楼层
您提到的“如果去掉图形环境模型能够显示出来”就能够显示,应该跟模型的关系不大,也许你的模型有些变态,呵呵

该用户从未签到

发表于 2011-10-18 09:46:12 | 显示全部楼层
又一个买quadro的悲催啊。。。这种卡的实际性能也就9800不到

该用户从未签到

 楼主| 发表于 2011-10-19 09:31:11 | 显示全部楼层
呵呵   这机器是学校的 。。。。

该用户从未签到

 楼主| 发表于 2011-10-19 09:31:36 | 显示全部楼层
哪那种显卡比较好呢?

该用户从未签到

 楼主| 发表于 2011-10-19 09:34:19 | 显示全部楼层
回复 10# FlySky


    这个模型 换一个普通的机器 不管有没有图形环境都 运行不出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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