查看: 1403|回复: 11

求教关于view和camera的应用。

[复制链接]

该用户从未签到

发表于 2011-4-2 17:34:00 | 显示全部楼层 |阅读模式
本帖最后由 House 于 2011-4-2 17:35 编辑

能否做到一个效果是:有类似于viewer->addSlave()那种有从属camera, 但主Camera和从属camera的SceneData是不同的。
就是希望两个不同的场景有一致的TrackballManipulator.

该用户从未签到

发表于 2011-4-5 09:23:09 | 显示全部楼层
可以,你参考一下addSlave()函数的参数

该用户从未签到

发表于 2011-4-6 08:50:52 | 显示全部楼层
SlaveCamera或CompositeViewer都是可以的

该用户从未签到

 楼主| 发表于 2011-4-6 13:51:48 | 显示全部楼层
希望array能详细说明一下。

按我的理解是:用SlaveCamera只能够用同一个场景,就是那个setSceneData;而用CompositeViewer就不能共用一套操作。

我想要的效果是:有一个camera是观看主场景,然后再这个camera的右上角有另外一个camera,是有一个坐标系的场景。然后无论在哪一个camera内做旋转操作,两个camera都同时旋转,可以理解就是想两个场景的视角同步变换。

该用户从未签到

发表于 2011-4-7 08:33:58 | 显示全部楼层
用CompositeViewer就不能共用一套操作
此时您可以使用同一个场景,也可以使用不同的,没有什么限制

我想要的效果是:……
用相对参考系的Camera节点比较直接,用Slave或者CompositeViewer也没什么不可以

该用户从未签到

 楼主| 发表于 2011-4-7 14:20:32 | 显示全部楼层
array可能没明白我的意思。
CompositeViewer可以做到不同场景,但不能同时共用一套操作。
而相对坐标系的camera或者slave可以同时共用一套操作,但只能是同一个场景,因为只有Viewer有SetSceneData();

我这种理解不知有没有错误,希望指出。
我希望的效果是: temp.JPG
view1或者view2在旋转,另外一个也同时旋转,但view1是主的场景,而view2只是一个坐标系,用于反映view1的世界坐标系。

该用户从未签到

 楼主| 发表于 2011-4-7 14:21:23 | 显示全部楼层
可能是图片的问题,view2那里是一个框代表一个视图。

该用户从未签到

发表于 2011-4-8 08:20:26 | 显示全部楼层
CompositeViewer可以做到不同场景,但不能同时共用一套操作
答案是当然可以,只要您把同一个CameraManipulator设置给两个视图即可~~或者您可以在回调中控制子视图的观察矩阵。没有不可能!

您的效果我很早就实现过,没有什么特殊的,所有您想到的方案都是可行的,只要设置正确的观察和投影矩阵即可

该用户从未签到

 楼主| 发表于 2011-4-8 09:18:42 | 显示全部楼层
哦,我明白了,我先尝试一下。THX
不过还有一个问题,假如我想View2只有旋转,而没有平移缩放,是不是只能用回调来实现呢?

该用户从未签到

 楼主| 发表于 2011-4-8 09:20:02 | 显示全部楼层
还有貌似view1会覆盖view2,令view2看不到。

该用户从未签到

发表于 2011-4-11 08:43:04 | 显示全部楼层
假如我想View2只有旋转,而没有平移缩放
用回调是合适的
还有貌似view1会覆盖view2,令view2看不到
那是您自己的代码的问题

该用户从未签到

 楼主| 发表于 2011-4-11 10:21:46 | 显示全部楼层
THX array!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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