C OpenSceneGraph更改相机眼高

C OpenSceneGraph更改相机眼高,第1张

概述编写一个小的openscenegraph应用程序,并需要一种方法来改变Camera高度.从本质上讲,眼睛直视空间中的球.我想要做的是能够降低相机高度,这样我才能从下面看球,并且如果需要的话还可以提高相机高度.如何使用oPengl代码或OpenScenegraph实现此目的? int main(int argc, char* argv[]){ osg::ref_ptr<osg::Shap 编写一个小的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,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();}
解决方法 您需要接管osgVIEwer :: Camera的控制权,不应该尝试使用基本的OpenGL.

osgVIEwer :: VIEwer :: getCameraWithFocus可以让你拿到相机.从这里您可以设置相机的位置和外观.

请记住,在您拥有的基本应用程序中,相机 *** 纵器每帧设置一次相机的位置(基于鼠标交互).

您需要决定如何处理鼠标输入并可能接管Camera Manipulator正在执行的任务.

总结

以上是内存溢出为你收集整理的C OpenSceneGraph更改相机眼高全部内容,希望文章能够帮你解决C OpenSceneGraph更改相机眼高所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存