我要发帖 回复

正式会员

2

主题

39

积分

0

专家分

:

私信
发表时间 : 2009-3-19 11:02:45 | 浏览 : 1683    评论 : 3
做好的模型osgViewer调用纹理进行了自动伸缩
当内部模型数量较多的时候会发生调用场景非常慢的情况。需要等待。
那么,这个慢的问题,是由于纹理伸缩造成的还是,还是场景过大问题?


如果系统内部在模型更换时候会发生中断情况,我使用了osg::switch在首次加入场景时将所有模型载入。
然后判断当前需要哪个模型绘制,用osg::switch来进行选择显示。
不知道我这种解决方式合理么?或者给我些更好的解决方案!!
先谢过。。。

最近VR访客

jyea 评论于2009-3-20 07:24:18
我UP!!!
array 评论于2009-3-20 12:07:18
您的调用速度慢可能是因为模型过多,或者纹理过多,因此编译显示列表和绑定纹理所需的时间需要非常长。
有很多优化的方式,简单的例如共享纹理(很多Node可以共享一个Texture对象),共享节点(很多父节点可以共享同一个子节点Geode),复杂一点的例如LOD,PagedLOD,再复杂就需要自己或者使用VPB建立场景分块,四叉树等等。
“系统内部在模型更换时候会发生中断情况”,您的意思是addChild/removeChild的时候会崩溃?建议其父节点使用DYNAMIC属性,还有这些更改子节点的工作在回调中完成。这种情形用Switch的意义不大。
jyea 评论于2009-3-20 16:20:13
非常感谢。继续学习。。。

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2022-1-19 12:03 PM

返回顶部