|
楼主 |
发表于 2008-12-20 13:57:54
|
显示全部楼层
多谢array的解释,仔细看过代码发现参与渲染过程的摄像机不取决于viewer的摄像机列表。
但我第二个问题还是不明白。
就如在osghud例子里展现的一样,当slave camera设置成ABSOLUTE_RF,并且_useMastersSceneData设为false时,可以分别实现独立的观察视角和独立场景。相关代码如下:
// createhud()
// set the view matrix
camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
camera->setViewMatrix(osg::Matrix::identity());
...
return camera;
// main()
osg::Camera* hudCamera = createHUD();
viewer.addSlave(hudCamera, false);
那么我的疑惑是:假设我需要在同一个GraphicContext中,加入一组独立的摄像机视角,我是应该参照上面的代码设置不同的slave camera,还是把这些camera放在不同的view下并用compositeviewer管理,还是让这些camera不通过viewer而是作为独立的子节点加载在scene底下?从应用的角度看,它们的区别是什么?
呵呵,也不知道问题说清楚没
[ 本帖最后由 leon 于 2008-12-20 14:01 编辑 ] |
|