好久没有写osg的例子了,不知不觉osg已经升级到3.1.4了,本人参考的还是3.0.1。不多说了,继续osg
例子之路。
camera除了继承自Transform之外,还继承CullSettings,相机除了变换位置外还需要一些本身的设置,
这个CullSettings就是剔除的设置,它的子类有Camera、CullStack、SceneView。
首先看setComputeNearFarMode这个函数,在CullSettings中,camera和cullvisitor都使用了这个函数进
行远近平面的自动计算,可以优化远近平面的深度范围。
viewer.getCamera()->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR);可以设
置不自动计算远近平面。
viewer.setUpViewOnSingleScreen(0);
让相机关联一个单独的全屏窗体。
unsigned int width = 1280;
unsigned int height = 1280;
osgViewer::Viewer::Windows
windows;
viewer.getWindows(windows);
if (!windows.empty())
{
width = windows.front()-
>getTraits()->width;
height = windows.front()->getTraits()->height;
}
接下来获取了图形窗口的长和宽。
而os
例子之路。
camera除了继承自Transform之外,还继承CullSettings,相机除了变换位置外还需要一些本身的设置,
这个CullSettings就是剔除的设置,它的子类有Camera、CullStack、SceneView。
首先看setComputeNearFarMode这个函数,在CullSettings中,camera和cullvisitor都使用了这个函数进
行远近平面的自动计算,可以优化远近平面的深度范围。
viewer.getCamera()->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR);可以设
置不自动计算远近平面。
viewer.setUpViewOnSingleScreen(0);
让相机关联一个单独的全屏窗体。
unsigned int width = 1280;
unsigned int height = 1280;
osgViewer::Viewer::Windows
windows;
viewer.getWindows(windows);
if (!windows.empty())
{
width = windows.front()-
>getTraits()->width;
height = windows.front()->getTraits()->height;
}
接下来获取了图形窗口的长和宽。
而os