查看: 2185|回复: 4

多个摄像机的问题

[复制链接]

该用户从未签到

发表于 2009-2-17 10:29:21 | 显示全部楼层 |阅读模式
在场景中加了一个相机,相机能显示正确,可是当缩放窗口时,相机不能随着缩放,因为用 setViewport( 0,200,200,200 )设定了视口,有什么办法能将其缩放?

        osg::Camera* p_camera = new osg::Camera;
   
        p_camera->setProjectionMatrix(m_Viewer->getCamera()->getProjectionMatrix());
       
               p_camera->setReferenceFrame( osg::Transform::ABSOLUTE_RF );
       
        p_camera->setViewMatrix(m_Viewer->getCamera()->getViewMatrix() );
       
         p_camera->setViewport( 0,200,200,200 );
         p_camera->setRenderOrder( osg::Camera:OST_RENDER );
         root->addChild(p_camera);

该用户从未签到

 楼主| 发表于 2009-2-17 10:30:59 | 显示全部楼层

注:上面这个相机是第二个相机,场景中已经有个相机了

注:上面这个相机是第二个相机,场景中已经有个相机了

该用户从未签到

发表于 2009-2-17 10:51:45 | 显示全部楼层
你这个做的应该是HUD显示吧,,这个是不能缩放的~~~你可以用其他的来替代,,如渐变文字之类的~~~~~~

该用户从未签到

 楼主| 发表于 2009-2-17 10:58:12 | 显示全部楼层
我做的是在场景中添加一个小窗口,小窗口的位置在大窗口的左上角(这个窗口中的相机是跟随场景中某个物体运动而运动的)
主场景中还有一个相机
目前的问题是,小窗口中的物体都没问题,关键是小窗口的位置,因为我设置setviewpor(0,200,200,200),当大窗口被放大的时候,小窗口的位置本来在左上角后来变成了在大窗口的中间

该用户从未签到

发表于 2009-2-17 13:17:40 | 显示全部楼层
其实你可以先终止进程再设置图形环境,再开启进程,,不过这样是不安全的~~~~还有一种方案就是删除该窗口,新建一个大的图形环境窗口~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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