查看: 1856|回复: 7

裁剪疑问

[复制链接]

该用户从未签到

发表于 2013-4-18 15:56:09 | 显示全部楼层 |阅读模式
设置getCamera()->setCullingMode(osg::CullSettings::NO_CULLING);和对整个场景j节点设置setCullingActive(false)效果不同,这两种情况有什么区别?

该用户从未签到

发表于 2013-4-18 16:07:38 | 显示全部楼层
把所有节点都设置成setCullingActive(false)  就等于 getCamera()->setCullingMode(osg::CullSettings::NO_CULLING)

该用户从未签到

 楼主| 发表于 2013-4-18 16:32:57 | 显示全部楼层
不等把,我试了下,效果不一样

该用户从未签到

发表于 2013-4-18 16:48:19 | 显示全部楼层
看一下源码就知道了
  1.         inline bool isCulled(const osg::Node& node)
  2.         {
  3.             return node.isCullingActive() && getCurrentCullingSet().isCulled(node.getBound());
  4.         }
复制代码
  1.         inline bool isCulled(const BoundingSphere& bs)
  2.         {
  3.             if (_mask&VIEW_FRUSTUM_CULLING)
  4.             {
  5.                 // is it outside the view frustum...
  6.                 if (!_frustum.contains(bs)) return true;
  7.             }

  8.             if (_mask&SMALL_FEATURE_CULLING)
  9.             {
  10.                 if (((bs.center()*_pixelSizeVector)*_smallFeatureCullingPixelSize)>bs.radius()) return true;
  11.             }
  12. #ifdef COMPILE_WITH_SHADOW_OCCLUSION_CULLING
  13.             if (_mask&SHADOW_OCCLUSION_CULLING)
  14.             {
  15.                 // is it in one of the shadow occluder volumes.
  16.                 if (!_occluderList.empty())
  17.                 {
  18.                     for(OccluderList::iterator itr=_occluderList.begin();
  19.                         itr!=_occluderList.end();
  20.                         ++itr)
  21.                     {
  22.                         if (itr->contains(bs)) return true;
  23.                     }
  24.                 }
  25.             }
  26. #endif
  27.             return false;
  28.         }
复制代码

该用户从未签到

 楼主| 发表于 2013-4-19 09:34:14 | 显示全部楼层
看程序确实是差不多,不过他确实不太一样,至于什么原因我不太清楚。所以上来问问

该用户从未签到

发表于 2013-4-19 18:22:05 | 显示全部楼层
不一样在什么地方?

该用户从未签到

 楼主| 发表于 2013-4-23 17:20:23 | 显示全部楼层
显示效果不一样

该用户从未签到

发表于 2013-4-24 08:06:15 | 显示全部楼层
see see
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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