我在几次否定尝试后给您写信。
我正在使用OSGEarth,尤其是我无法为起始位置设置摄像机的经度,纬度和高度。
恐怕与我使用EarthManipulator]的事实有关
所以我创建了相机:
,并将EarthManipulator传递给该>osg::ref_ptr<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get()); osg::ref_ptr<osg::Camera> camera = new osg::Camera; camera->setGraphicsContext(gc); camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height)); camera->setClearMask(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
然后,我创建view
osg::ref_ptr<osgViewer::Viewer> g_viewer = new osgViewer::Viewer; osg::Vec3d eye(1110.0, 1110.0, 1110.0); osg::Vec3d center(10.0, 10.0, 10.0); osg::Vec3d up(0.0, 1.0, 0.0); g_viewer->setCamera(camera.get()); EarthManipulator* manip = new EarthManipulator(); manip->setViewpoint(Viewpoint( "Home", -71.0763, 42.34425, 0, // -71.0763, 42.34425, 0, // longitude, latitude, altitude 24.261, -21.6, 3450.0), // heading, pitch, range//3450 4.0); // duration, 4.0); g_viewer->setCameraManipulator(manip);
但是我无法摆脱通常的观点。
我也尝试过在EarthMipulator上工作,特别是设置原始位置
manip-> setHomePosition()
但没有任何变化
我经过几次否定尝试后给您写信。我正在使用OSGEarth,尤其是无法为起始位置设置摄像机的经度,纬度和高度。恐怕...
您想要的方法是EarthManipulator :: setHomeViewpoint: