查看: 588|回复: 2

【求助】如何在两个Viewer中显示同一模型的不同状态。

[复制链接]

该用户从未签到

发表于 2014-3-11 16:09:59 | 显示全部楼层 |阅读模式
【问题】
        想要在两个不同的Viewer中显示同一个模型,但是要求在一个Viewer中可以切换隐藏,而在另一个Viewer中一直显示。切换隐藏是通过父Switch的UpdateCallback来实现的,但在另一个Viewer中不需要。有什么方法可以实现这一方案。
【提示】
       尝试过setNodeMask的方法。因为隐藏后还要做getBound()计算,所以setNodeMask(0)后会影响getBound()的计算,当然如果对NodeMask再作细分的话,也许也能实现,但是否可以使用继承自StateAttribue的方法来实现呢?

该用户从未签到

发表于 2014-3-14 04:27:13 | 显示全部楼层
您完全可以用两个Parent Node,分别置于不同的viewer下;而子节点是同一个

该用户从未签到

 楼主| 发表于 2014-3-14 09:43:08 | 显示全部楼层
本帖最后由 xulin_2005 于 2014-3-14 09:50 编辑
array 发表于 2014-3-14 04:27
您完全可以用两个Parent Node,分别置于不同的viewer下;而子节点是同一个

  考虑了下,如果使用您的方案,是否每个子节点就要两个Parent,因为我这里用的Switch来切换隐藏,关系是否如下图:
OSG_多个Viewer显示_2.png
而我想要的方案是参照光照开关那样,根据父节点的State,而决定子节点的State,如果隐藏的话是否需要Switch(不用SetNodeMask),关系如下图: OSG_多个Viewer显示_1.png
是否可以用State来实现?



您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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