查看: 1468|回复: 4

请教如何暂停OSG的渲染线程?

[复制链接]

该用户从未签到

发表于 2010-4-30 02:39:29 | 显示全部楼层 |阅读模式
如题,本人现在想实现类似游戏中的“暂停”功能,即希望能够控制OSG的渲染线程暂停,并且能够恢复,请教各位这个功能如何实现?谢谢~

该用户从未签到

发表于 2010-4-30 08:26:47 | 显示全部楼层
一个最简单的方法是自己控制frame()函数的执行,要暂停的时候不要执行frame()就好~~

该用户从未签到

 楼主| 发表于 2010-4-30 13:01:51 | 显示全部楼层
2# array

感谢array老师,但是如果自己控制frame函数的话,比起使用viewer.run()这种方法,场景中的坐标系是不一样的吧,不知是否能使用viewer.run()的情况下,通过某种方法来控制frame函数的执行呢?我确实对于OSG线程这方面挺晕的。。。

该用户从未签到

发表于 2010-4-30 14:09:13 | 显示全部楼层
如果自己控制frame函数的话,比起使用viewer.run()这种方法,场景中的坐标系是不一样的吧
如果您花一分钟时间看一看代码实现的话,想必不会说这样的话

viewer.run基本等同于下面的代码:

  1. viewer.setCameraManipulator( new osgGA::TrackballManipulator );
  2. viewer.realize();
  3. while ( !viewer.done() )
  4. {
  5.     viewer.frame();
  6. }
复制代码

该用户从未签到

 楼主| 发表于 2010-4-30 14:26:03 | 显示全部楼层
感谢,array老师
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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