查看: 2769|回复: 7

osg 中的多线程数据调度问题

[复制链接]

该用户从未签到

发表于 2009-5-15 16:27:09 | 显示全部楼层 |阅读模式
在osg中实现了场景模型随视点动态加载了,但老是出错,估计是节点操作线程与osg的场景绘制线程冲突了,老是在osg35-osgd.dll中出错,请高手赐教啊!谢谢了。

该用户从未签到

发表于 2009-5-15 16:44:17 | 显示全部楼层
首先可以考虑设置载入模型的父节点为动态:setDataVariance( DYNAMIC )
此外没有任何有关您实现方法的代码或者提示……请问其他的朋友如何判断什么地方可能出错?

该用户从未签到

 楼主| 发表于 2009-5-15 18:06:34 | 显示全部楼层
呵呵……不好意思啊,我们公司封了USB口没办法啊!代码太多了,上千行呢!

该用户从未签到

 楼主| 发表于 2009-5-16 08:51:06 | 显示全部楼层
版主您好,我是在开启的一个osg::thread 中对场景根节点进行添加删除的,我试了,在根节点上添加了setDataVariance( DYNAMIC )好像还是不行,版主还有什么方法啊,请赐教!谢谢了!

该用户从未签到

发表于 2009-5-16 11:09:33 | 显示全部楼层
为什么要另开线程来添加删除节点呢?(虽然这样应该也是可行的,因为DatabasePager就是这样做的)此外没有代码我的确很难追踪您可能的错误

该用户从未签到

 楼主| 发表于 2009-5-16 12:16:49 | 显示全部楼层
主要是因为进行大场景的数据调度,为了使加载过程比较流畅才另开线程来添加删除节点,同时我试了在回调中进行添加删除效果会好些,几乎不会出错。谢谢版主了,那我去看看DatabasePager吧,我们公司管的比较严个人机子的USB都被封了,实在抱歉啊。

该用户从未签到

发表于 2009-5-16 12:21:29 | 显示全部楼层
大场景的数据调度可以完全考虑使用DatabasePager来做,使用PagedLOD节点以及ProxyNode节点,您可以考虑一下

该用户从未签到

 楼主| 发表于 2009-5-16 12:59:26 | 显示全部楼层
好的,谢谢版主了!我去看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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