osg之osgViewer基础应用
来源:互联网 发布:中海达数据导出 编辑:程序博客网 时间:2024/06/05 18:49
最开始的应用是读取模型了
int main(){ osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer; osg::ref_ptr<osg::Node> node=new osg::Node; node=osgDB::readNodeFile("glider.osg"); //添加帮助 viewer->addEventHandler(new osgViewer::HelpHandler); //添加状态 viewer->addEventHandler(new osgViewer::StatsHandler); //添加窗口大小变化 viewer->addEventHandler(new osgViewer::WindowSizeHandler); viewer->setSceneData(node); return viewer->run();}
osg::Timer的应用:
举例说明,例如读取一个模型:
方法一:
int main(){ osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer; osg::ref_ptr<osg::Node> node=new osg::Node; //申请一个定时器 osg::Timer* timer=new osg::Timer; osg::Timer_t start_time=0; osg::Timer_t end_time=0; //得到一个tick值为多少 std::cout<<timer->getSecondsPerTick()<<std::endl; //读取模型 start_time=timer->tick(); node=osgDB::readNodeFile("glider.osg"); end_time=timer->tick(); std::cout<<timer->delta_s(start_time,end_time)<<std::endl; viewer->addEventHandler(new osgViewer::HelpHandler); viewer->addEventHandler(new PrintName); viewer->addEventHandler(new osgViewer::StatsHandler); viewer->addEventHandler(new osgViewer::WindowSizeHandler); viewer->setSceneData(node); return viewer->run();}
方法二:
int main(){ osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer; osg::ref_ptr<osg::Node> node=new osg::Node; //申请一个定时器 osg::Timer* timer=new osg::Timer; osg::Timer_t start_time=0; osg::Timer_t end_time=0; //得到一个tick值为多少 std::cout<<timer->getSecondsPerTick()<<std::endl; //读取模型 //start_time=timer->tick(); timer->setStartTick(); node=osgDB::readNodeFile("glider.osg"); //end_time=timer->tick(); std::cout<<timer->time_s()<<std::endl; viewer->addEventHandler(new osgViewer::HelpHandler); viewer->addEventHandler(new PrintName); viewer->addEventHandler(new osgViewer::StatsHandler); viewer->addEventHandler(new osgViewer::WindowSizeHandler); viewer->setSceneData(node); return viewer->run();}
方法三:
int main(){ osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer; osg::ref_ptr<osg::Node> node=new osg::Node; //申请一个定时器 osg::Timer* timer=new osg::Timer; float start_time=0.0; float end_time=0.0; //得到一个tick值为多少 std::cout<<timer->getSecondsPerTick()<<std::endl; //读取模型 //start_time=timer->tick(); //timer->setStartTick(); start_time=viewer->elapsedTime(); node=osgDB::readNodeFile("glider.osg"); //end_time=timer->tick(); end_time=viewer->elapsedTime(); std::cout<<end_time-start_time<<std::endl; viewer->addEventHandler(new osgViewer::HelpHandler); viewer->addEventHandler(new PrintName); viewer->addEventHandler(new osgViewer::StatsHandler); viewer->addEventHandler(new osgViewer::WindowSizeHandler); viewer->setSceneData(node); return viewer->run();}
阅读全文
0 0
- osg之osgViewer基础应用
- osgViewer应用基础之添加键盘事件
- osgViewer应用基础
- OSG 第三讲,OSGviewer加入键盘响应
- 1、osgViewer::Viewer,osgViewer::ViewerBase,osgGA::KeySwitchMatrixManipulator,osg::ArgumentParser的说明
- OSG学习:osgViewer命令行参数和常用操作
- 简单OSG小程序,实现在cmd下osgviewer <filename>小功能
- 做OSG开发出现error C2653: “osgViewer”: 不是类或命名空间名称
- osg之osg环境配置
- OpenSceneGraph(OSG) 学习之 核心结构(基础篇)
- osg学习之一:基础
- osg的数学基础
- osg基础概念
- OSG 基础 学习心得
- osgViewer::Viewer
- osgViewer::ViewerBase
- OSG之osg::StateAttribute派生类速查
- 汝之所看非汝之所想——osgViewer::Viewer的DatabasePager一点理解
- MFC基于select模型的套接字类之服务器(8)
- Mybatis一对多、多对一、批量插入
- js 将canvas生成图片保存,或直接保存一张图片
- Andrid studio创建java项目
- NO.16类一般形式,构造器,继承
- osg之osgViewer基础应用
- Linux 上交换分区的简单操作
- 线性表的顺序存储结构
- js——javascript入门
- 操作系统常用调度算法
- 网络管理
- (原创)对象转型实例___每一个小小的改变,都有可能改变世界。
- 【JZOJ5456】奇怪的队列
- Django 快速搭建个人博客(终结版)