Osg 开发一:OpenSceneGraph 介绍及开发环境设置

发布时间:2026/7/12 22:15:20
Osg 开发一:OpenSceneGraph 介绍及开发环境设置 文章目录一 OpenSceneGraph 简介1 什么是 OpenSceneGraph2 OSG 中国3 OSG 组成模块二 OSG 开发1 开发环境2 环境设置3 Hello OSG 工程其他一 OpenSceneGraph 简介1 什么是 OpenSceneGraphOSG 是一个开源的场景图形管理开发库主要为图形图像应用程序的开发提供场景管理和图形渲染优化功能。2 OSG 中国2008年初成立的 OsgChina 是目前国内最大的专注于 OSG 发展和研究的网站和论坛以及 OSG 英文官方站点http://www.openscenegraph.org 的唯一中文镜像站。3 OSG 组成模块OpenScenceGraph 层次结构图如下图所示。OpenSceneGraph 及其扩展位于系统的API一级利用 OpenSceneGraph 可以轻松地开发其上层的应用程序。OSG 主要包括4个库1OSG 核心库Core Library。核心库主要用于实现最核心的场景数据库的组织和管理、对场景图形的操作以及外部数据库的导入提供接口等。它主要包括以下4个库。库名描述osg 库基本数据类负责提供基本场景图类构建场景图节点如节点类、状态类、绘制类、向量和矩阵数据计算以及一般的数据类osgUtil 库工具库类提供通用的公用类用于操作场景图形及内容如更新、裁减、遍历、数据统计及场景图的一些优化osgDB 库数据的读写库负责提供场景中数据的读写工作提供一个文件工具类。osgViewer 库OSG 2.0 后逐步发展稳定的一个视窗管理库可以集中各种窗体系统提供 OSG 与各种 GUI 的结合。2OSG 工具库NodeKit。工具库主要是对 OSG 核心库的扩充实现一些特定的功能。主要包括6个库。库名描述osgFX 库特殊效果节点工具用于渲染特效节点包括异性光照特效osgFXAnisotropic Lighting、凹凸贴图特效osgFX::BumpMapping、卡通渲染特效osgFX::Cartoon、刻线特效osgFXScribe、和立方图镜面高光特效osgFXSpecularHighlights等。osgParticle 库粒子系统的节点工具用于模拟各种天气或者自然现象效果如雨效、雪效和爆炸模拟等。osgSim 库虚拟仿真效果的节点工具用于特殊渲染如地形高程图、光点节点和DOF变换节点等。osgTerrain 库生成地形数据的节点工具用于渲染高程数据如TIF、IMAGE和DEM等各种高程数据格式。osgText 库文字节点工具用于向场景中添加文字信息支持TrueType字体。osgShadow 库阴影节点工具用于向场景中添加实时阴影提高场景渲染的真实性。3OSG 插件库。支持各种第三方库OSG 能够直接或者间接地导入3D模型或图片等场景数据。4OSG 内省库osgIntrospection。内省库提供一个与语言无关的运行程序接口确保了 OSG 可以在更多的环境下运行。综上OSG 的组成模块如下图所示二 OSG 开发1 开发环境操作系统Windows10及以上Qt 6.8.0 (MSVC 2022) Release2 环境设置1包含文件和库文件目录INCLUDEPATH$$PWD/xxx/osg/include LIBS-L$$PWD/xxx/osg/lib/-lOpenThreads-losg-losgAnimation-losgDB-losgFX-losgGA \-losgManipulator-losgParticle-losgParticle-losgPresentation \-losgQOpenGL-losgShadow-losgSim-losgTerrain-losgText \-losgUI-losgUtil-losgViewer-losgVolume-losgWidget2将osg动态库.dll拷贝到可执行文件所在目录3 Hello OSG 工程1Qt 中嵌入 OSG 窗口参考文档Qt 中嵌套 OSG 窗口Qt 中嵌入 OSG 窗口的方式有两种方式一是继承于 QOpenGLWidget方式二是继承 QOpenGLWidget 和 osgViewer::Viewer。本文采用方式二主要代码如下。// 头文件 view3d.hclass Viewer3D:public QOpenGLWidget,public osgViewer::Viewer{Q_OBJECT public:Viewer3D(QWidget*parentnullptr);~Viewer3D();protected:boolevent(QEvent*e)override;voidsetKeyboardModifiers(QInputEvent*event);voidkeyPressEvent(QKeyEvent*event)override;voidkeyReleaseEvent(QKeyEvent*event)override;voidmousePressEvent(QMouseEvent*event)override;voidmouseReleaseEvent(QMouseEvent*event)override;voidmouseDoubleClickEvent(QMouseEvent*event)override;voidmouseMoveEvent(QMouseEvent*event)override;voidwheelEvent(QWheelEvent*event)override;voidresizeEvent(QResizeEvent*event)override;voidmoveEvent(QMoveEvent*event)override;voidtimerEvent(QTimerEvent*event)override;voidpaintGL()override;private:voidinit3D();osg::ref_ptrosg::CameracreateCamera(intx,inty,intw,inth);private:osgViewer::GraphicsWindow*m_window;qreal m_scale;};// 初始化 osg 窗口voidViewer3D::init3D(){setCamera(createCamera(0,0,width(),height()));setCameraManipulator(new osgGA::TrackballManipulator);addEventHandler(new osgViewer::StatsHandler);addEventHandler(new osgViewer::ThreadingHandler());addEventHandler(new osgViewer::HelpHandler);addEventHandler(new osgGA::StateSetManipulator(this-getCamera()-getOrCreateStateSet()));setThreadingModel(osgViewer::Viewer::SingleThreaded);realize();getCamera()-setComputeNearFarMode(osg::CullSettings::COMPUTE_NEAR_FAR_USING_PRIMITIVES);getCamera()-setNearFarRatio(0.000003f);startTimer(10);}2Hello OSG 工程#includeosg/Node//核心库基本数据类。节点#includeosg/Geode//叶节点#includeosg/Group//组节点#includeosgDB/ReadFile//核心库数据的读写库#includeosgDB/WriteFile#includeosgUtil/Optimizer//核心库工具类库//创建 Viewer 对象场景浏览器Viewer3D*viewernewViewer3D(this);//创建场景组节点osg::ref_ptrosg::Grouprootnew osg::Group();//创建一个节点读取牛的模型osg::ref_ptrosg::NodenodeosgDB::readNodeFile(cow.osg);//添加到场景root-addChild(node.get());//优化场景数据osgUtil::Optimizer optimizer;optimizer.optimize(root.get());//设置场景数据viewer-setSceneData(root.get());从上面的程序可以看出构建 OSG 场景渲染程序的开发步骤如下设置编程环境指定头文件。创建场景浏览器用于渲染场景。设置场景数据从外部加载模型或者场景数据。设置场景数据为渲染场景建立场景树确定场景数据之间的关系。渲染实现场景渲染。3测试结果其他官方店https://2td9n4muhvgusvzepfo0a3cyfue8cph.taobao.com/

相关新闻

机械营销网站建设案例:从流量到留资的实战转化逻辑

机械营销网站建设案例:从流量到留资的实战转化逻辑

很多做重工设备的老板都头疼,明明产品硬核,技术领先,但网站建好却像“无人区”,不仅没询盘,连访客都寥寥无几。这篇内容将直接拆解一个真实的机械行业转型故事,告诉你如何通过优化网站结构、内容策略和信任背书,在三个月内将有效询盘量提升300%,解决你“有技术没市场”…

发布时间:2026/7/12 22:14:14
网站建设可以在家做吗?别被忽悠了,真相有点扎心

网站建设可以在家做吗?别被忽悠了,真相有点扎心

本文关键词:网站建设可以在家做吗很多人问我,搞网站建设可以在家做吗?我第一反应是笑。真的,不是笑你,是笑这个行业的荒诞。你想想,天天窝在出租屋里,对着电脑屏幕敲代码,或者拖拽那些所谓的“傻瓜式”建站模板,这画面太美我不敢看。但现实是,真有这么一群人,靠着这…

发布时间:2026/7/12 22:14:13
别再花冤枉钱了,免费的英文电子外贸网站建设才是中小卖家的救命稻草

别再花冤枉钱了,免费的英文电子外贸网站建设才是中小卖家的救命稻草

本文关键词:免费的英文电子外贸网站建设说实话,刚做外贸那会儿,我也傻过。那时候觉得,要想显得专业,必须得有个高大上的官网。于是去问建站公司。人家张嘴就是几万块。还要每年续费。还要维护。还要SEO优化。我一看钱包,凉了。我就在想,难道没别的招了吗?后来我才明白,…

发布时间:2026/7/12 22:09:42
2024最新攻略:手把手教你玩转舞钢市住房和城乡建设局网站

2024最新攻略:手把手教你玩转舞钢市住房和城乡建设局网站

你是不是经常遇到这种尴尬? 想去查个房产证进度, 结果在百度里搜了半天, 全是过期的广告和链接。 别急,今天这篇就是来救命的。 我花了整整两天时间, 把舞钢市住房和城乡建设局网站 里里外外扒了个遍。 这篇干货,直接告诉你, 怎么用最快速度办成事。 不用跑大厅,不用排…

发布时间:2026/7/12 23:21:09
别被忽悠了!一份真实的网站建设上线流程图,帮你省下几万冤枉钱

别被忽悠了!一份真实的网站建设上线流程图,帮你省下几万冤枉钱

很多老板一开口就问:“做个网站多少钱?” 这时候我通常不报价,而是先问:“你想让网站帮你干什么?” 如果对方支支吾吾,只说“要大气、要高端”,那基本可以判定这单很难做,或者最后交付结果双方都很痛苦。因为大多数人在启动项目前,脑子里只有一团浆糊,根本不知道从哪…

发布时间:2026/7/12 23:20:56
做领域网站建设,别只盯着模板,这3点才是流量密码

做领域网站建设,别只盯着模板,这3点才是流量密码

很多人一提到建站,脑子里就是套模板、选插件,觉得把页面弄漂亮就行。其实大错特错。如果你做的是通用型展示网站,那确实可以这么干。但如果你是想在某个细分领域里深耕,比如做医疗器械、或者特种化工设备。那你得明白,这种领域网站建设,核心不是“好看”,而是“信任”。…

发布时间:2026/7/12 23:20:51
别再被忽悠了!普通人如何分析网站建设才能不花冤枉钱

别再被忽悠了!普通人如何分析网站建设才能不花冤枉钱

说实话,第一次接触网站建设那会儿,我真是被坑得底裤都不剩。那时候不懂行,觉得找个便宜的模板套一下就行,结果做出来的网站打开慢得像蜗牛,后台还乱码,更别提什么SEO优化了,百度收录为零。后来我花了大半年时间,跟好几个建站公司死磕,才摸出点门道。今天就把这些血泪经…

发布时间:2026/7/12 23:19:21
做电子商务网站建设的市场分析,别只看流量,这3个坑踩了就是废号

做电子商务网站建设的市场分析,别只看流量,这3个坑踩了就是废号

很多老板一上来就问:“做个电商网站多少钱?”或者“能不能像淘宝那样?”这种问题问出来,基本就可以判定这个项目要黄。因为你们根本就没做电子商务网站的市场分析,光想着抄作业,却忘了看考场规则。我见过太多案例,A公司花十几万请大公司做个高大上的官网,结果上线半年,…

发布时间:2026/7/12 23:19:21
别去柜台排长队了!建行个人网站官网操作指南,这3个坑我替你踩了

别去柜台排长队了!建行个人网站官网操作指南,这3个坑我替你踩了

上周三下午三点,我为了查个账单,特意请了半天假去线下网点。结果呢?取号、等待、办理,折腾了一个多小时,最后发现手机上一键就能搞定。那一刻我真想给自己两巴掌,以前总觉得银行系统复杂、怕出错,非要跑到柜台才安心。现在想想,真是把简单问题复杂化了。今天不整那些虚…

发布时间:2026/7/12 23:17:40
别装了,你的学院网站建设推进会就是场大型尴尬现场

别装了,你的学院网站建设推进会就是场大型尴尬现场

看着后台那点可怜的访问量,你急不急?方案改了八版,还是没人看。今天这文,只说怎么把会开成,把事做成。上周去隔壁职院蹭会,那场面,真叫一个窒息。会议室里坐满了人,领导在台上讲PPT,底下的人不是在玩手机,就是在发呆。投影仪闪了两下,灭了。没人去修,接着讲。这种会…

发布时间:2026/7/12 0:00:10
七彩建设集团官方网站怎么找?避坑指南与真实体验分享

七彩建设集团官方网站怎么找?避坑指南与真实体验分享

找官网找得头大?这篇直接告诉你怎么辨别真伪,别被假网站坑了钱。昨天半夜两点,我还在电脑前盯着屏幕,心里那个急啊。家里装修刚进场,工长突然说需要确认一份材料清单,说是七彩建设那边要求的。我手忙脚乱地打开浏览器,搜了一堆“七彩建设”,结果出来一堆广告,什么“七…

发布时间:2026/7/12 0:00:40
找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

做企业,网站就是脸面。 在龙岗,想找个靠谱的网站公司,真不容易。 市面上广告满天飞。 承诺得天花乱坠。 最后交付的东西,却让人想砸电脑。 今天不聊虚的。 只聊怎么避坑。 怎么找到真正可信赖的龙岗网站建设团队。先说个大实话。 别信什么“三天上线”。 那是骗小白的。 正…

发布时间:2026/7/12 0:00:44
别装了,你的学院网站建设推进会就是场大型尴尬现场

别装了,你的学院网站建设推进会就是场大型尴尬现场

看着后台那点可怜的访问量,你急不急?方案改了八版,还是没人看。今天这文,只说怎么把会开成,把事做成。上周去隔壁职院蹭会,那场面,真叫一个窒息。会议室里坐满了人,领导在台上讲PPT,底下的人不是在玩手机,就是在发呆。投影仪闪了两下,灭了。没人去修,接着讲。这种会…

发布时间:2026/7/12 0:00:10
七彩建设集团官方网站怎么找?避坑指南与真实体验分享

七彩建设集团官方网站怎么找?避坑指南与真实体验分享

找官网找得头大?这篇直接告诉你怎么辨别真伪,别被假网站坑了钱。昨天半夜两点,我还在电脑前盯着屏幕,心里那个急啊。家里装修刚进场,工长突然说需要确认一份材料清单,说是七彩建设那边要求的。我手忙脚乱地打开浏览器,搜了一堆“七彩建设”,结果出来一堆广告,什么“七…

发布时间:2026/7/12 0:00:40
找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

做企业,网站就是脸面。 在龙岗,想找个靠谱的网站公司,真不容易。 市面上广告满天飞。 承诺得天花乱坠。 最后交付的东西,却让人想砸电脑。 今天不聊虚的。 只聊怎么避坑。 怎么找到真正可信赖的龙岗网站建设团队。先说个大实话。 别信什么“三天上线”。 那是骗小白的。 正…

发布时间:2026/7/12 0:00:44
建站7年才悟出的网站建设思路,别再花冤枉钱了

建站7年才悟出的网站建设思路,别再花冤枉钱了

做建站这行整整7年了。 见过太多老板花几万块, 最后做出来的网站像个垃圾场。 今天不整那些虚头巴脑的术语。 就聊聊我踩过的坑, 和真正能落地的网站建设思路。很多老板一上来就问: “多少钱能做个高大上的?” 我通常直接劝退。 因为方向错了, 你给再多钱也是打水漂。 真正…

发布时间:2026/7/11 8:50:55
合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

做企业官网最怕什么?不是技术难,是交钱后没人管,或者上线一个月连个访客都没有。这篇东西不扯虚的,直接告诉你怎么在合肥找个靠谱的团队,或者自己怎么避坑。先说个大实话,我在合肥混这行五年多,见过太多老板因为贪便宜吃大亏。你去百度搜“合肥的网站建设”,出来一堆报…

发布时间:2026/7/10 18:05:06
别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

做这行久了,心里就憋着一股火。每次看到客户拿着网上抄来的模板,问我能不能做成“苹果官网”那种效果。我就想笑。真的,太想笑了。今天咱不整那些虚头巴脑的专业术语。就聊聊德州网站建设里,那些让人头秃的真实事儿。我有个客户,老张。他是做德州本地建材的,实在人。当初…

发布时间:2026/7/10 16:48:50