|
发表于 2008-6-30 21:51:52
|
显示全部楼层
您好,这是我根据一个例子修改的:- AdapterWidget( parent, name, shareWidget, f )
- {
- getCamera()->setViewport(new osg::Viewport(0,0,width(),height()));
-
- //设置投影矩阵
- getCamera()->setProjectionMatrixAsPerspective(30.0f, static_cast<double>(width())/static_cast<double>(height()), 10.0f, 10000.0f);
-
- getCamera()->setGraphicsContext(getGraphicsWindow());
-
- setThreadingModel(osgViewer::Viewer::SingleThreaded);
-
- //设置视点
- //只有这句是我加的
- getCamera()->setViewMatrixAsLookAt( osg::Vec3(100.0, -20.0, 0.0), osg::Vec3(0.0, 0.0, 0.0), osg::Vec3(1.0, 1.0, 0.0) );
-
- connect(&_timer, SIGNAL(timeout()), this, SLOT(updateGL()));
- _timer.start(10);
- }
复制代码 好像AsLookAt没什么效果。
是不是在执行“updateGL()“时,视点被重新设置过了?
我想修改回调函数,但我怕破坏例子中原有的功能,就是可以用鼠标旋转模型的那个。
谢谢。
[ 本帖最后由 HelloWorld! 于 2008-7-1 11:16 编辑 ] |
|