查看: 922|回复: 3

关于多相机的疑问

[复制链接]

该用户从未签到

发表于 2011-7-20 11:52:12 | 显示全部楼层 |阅读模式
各位好,目前我遇到一个关于多相机的问题,就是我在一个场景中有多个相机,其中一个相机的设置如下:
  1. mHudCamera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
  2. mHudCamera->setViewport(0, 0, mTraits->width, mTraits->height);
  3. //mHudCamera->setProjectionMatrixAsOrtho2D(0, mTraits->width, 0, mTraits->height);
  4. mHudCamera->setRenderOrder(osg::Camera::POST_RENDER);
  5. mHudCamera->setClearMask(GL_DEPTH_BUFFER_BIT);
  6. mHudCamera->setGraphicsContext(mGc.get());
  7. mViewer->addSlave(mHudCamera, false);
  8. mHudCamera->addChild(osgDB::readNodeFile("cow.osg"));
复制代码

但是显示的时候并没有显示这头牛,请各位大侠帮我解答一下。。。谢谢。

该用户从未签到

发表于 2011-7-20 13:30:39 | 显示全部楼层
addSlave不应该在您这种情况下使用,直接把camera添加到root下就可以了

该用户从未签到

 楼主| 发表于 2011-7-22 11:52:31 | 显示全部楼层
我已经按照您说的设置了一下,可是现在依然看不到那头牛啊。。不知道会出现这种情况。
  1.         mHudCamera->setViewMatrix(osg::Matrix::identity());
  2.         mHudCamera->setAllowEventFocus(false);
  3.         mHudCamera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
  4.         mHudCamera->setViewport(0, 0, traits->width, traits->height);
  5.         mHudCamera->setProjectionMatrixAsOrtho2D(0, traits->width, 0, traits->height);
  6.         mHudCamera->setRenderOrder(osg::Camera::POST_RENDER);
  7.         //mHudCamera->setClearMask(GL_DEPTH_BUFFER_BIT);
  8.         mHudCamera->setGraphicsContext(gc.get());
  9.         mHudCamera->addChild(osgDB::readNodeFile("cow.osg"));
  10.         mRoot->addChild(mHudCamera.get());
复制代码

该用户从未签到

发表于 2011-7-22 12:59:06 | 显示全部楼层
我想这是由于您设置的ViewMatrix不合理造成的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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