Kob*_*kie 5 c++ openscenegraph
编写一个小的openscenegraph应用程序,并需要一种方法来改变Camera高度.从本质上讲,眼睛直视空间中的球.我想要做的是能够降低相机高度,这样我才能从下面看球,并且如果需要的话还可以提高相机高度.如何使用oPengl代码或OpenScenegraph实现此目的?
int main(int argc, char* argv[])
{
osg::ref_ptr<osg::ShapeDrawable> shape2 = new osg::ShapeDrawable;
shape2->setShape( new osg::Sphere(osg::Vec3(3.0f, 0.0f, 0.0f),1.0f) );
shape2->setColor( osg::Vec4(0.0f, 0.0f, 1.0f, 1.0f) );
osg::ref_ptr<osg::Geode> root = new osg::Geode;
root->addDrawable( shape2.get() );///add first osgshapeDrawable2
osgViewer::Viewer viewer;
viewer.setSceneData( root.get() );///set the Geode as scenedata for the viewer
return viewer.run();
}
Run Code Online (Sandbox Code Playgroud)
小智 2
您需要接管对 的控制osgViewer::Camera,您不应该尝试使用基本 OpenGL 来做到这一点。
osgViewer::Viewer::getCameraWithFocus应该给你相机。从这里您可以设置相机的位置和外观。
请记住,在像您这样的基本应用程序中,相机操纵器每帧设置一次相机的位置(基于鼠标交互)。
您将需要决定如何处理鼠标输入,并可能接管相机操纵器正在执行的任务。
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |