一、原理
在OSG学习中,鼠标移速快就会导致物体抛出去,从而导致显示不舒服。为了解决该问题,OSG本身可以禁止抛出。本文主要介绍OSG显示之禁止抛出。
禁止抛出的主要代码如下:
trackball_Manipulator->setAllowThrow(false);
二、代码
#include <osgDB/ReadFile> // 读取文件
#include <osgViewer/Viewer>// 显示文件
#include <osgGA/TrackballManipulator>
int main()
{
// 读取文件到节点
osg::Node* node = new osg::Node;
node = osgDB::readNodeFile("cow.osg");
// 显示文件
osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
viewer->setSceneData(node);
// 禁止抛出
osg::ref_ptr<osgGA::TrackballManipulator> trackball_Manipulator = new osgGA::TrackballManipulator;
trackball_Manipulator->setAllowThrow(false);
viewer->setCameraManipulator(trackball_Manipulator);
// 运行文件
viewer->run();
}