我要发帖 回复

新手上路

4

主题

18

积分

0

专家分

:

私信
发表时间 : 2008-7-26 18:08:58 | 浏览 : 1811    评论 : 1
初学opengl,写了一个小程序,想通过键盘控制摄像机的旋转,例如按a就向左转。
以下是源码。但是不起作用阿。
void KeyControl::rotatecamero(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa,double dangle)
{
        osgViewer::View* view = dynamic_cast<osgViewer::View*>( &aa );   

        osg::Vec3d eye;
        osg::Vec3d center;
        osg::Vec3d up;
          // 设置视口矩阵(旋转矩阵和平移矩阵连乘)。
        up.set(0.0,1.0,0.0);
        center.set(0,0,0);
        eye.set(-sin(angle) * 40,eye.y(),cos(angle) * 40);
        view->getCamera()->setViewMatrixAsLookAt(eye,center,up);  
        return;
}

最近VR访客

tan_dunming 评论于2008-7-29 08:51:34
angle有变化吗 eye.y()似乎没有初始化啊 最好是有个完整的工程看看  或者看看OSG的一些教程是怎么处理的吧
追求卓越

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-7-15 01:15 PM

返回顶部