? osg为视景器的使用和调试提供了丰富的辅助组件,它们主要是以osg::ViewerBase的成员变量或交互事件处理器(osgGA::GUIEventHandler)的形式出现。osgViewer::StatsHandler、osg::Stats类就是其中的两个经常用到的辅助组件。
#include<osgViewer/Viewer>
#include<osgDB/readFile>
#include<osgViewer/ViewerEventHandlers>
int main(int argc, char* argv[])
{
osg::ArgumentParser arguments(&argc, argv);
osg::setNotifyLevel(osg::INFO);
osgViewer::Viewer viewer(arguments);
auto pNode = osgDB::readNodeFile("航天器.3ds");
if (nullptr == pNode)
{
OSG_WARN << "file not exist!\r\n";
return 1;
}
auto pStatsEventHandler = new osgViewer::StatsHandler; // 构造一视景器统计事件处理器
viewer.addEventHandler(pStatsEventHandler); // 向视景器增加统计事件处理器
viewer.setSceneData(pNode);
return viewer.run();
}
?
每按一下s键,视景窗口会多输出一些东西;控制台窗口也会输出一些内容;
有时间再看;?