随笔分类 -  osgEarth

基于osg渲染引擎的地球全球三维显示引擎
摘要:1.cos趋近 2.pow趋近 3. 4. 5. 6. 7. 8. 阅读全文
posted @ 2018-03-12 11:24 南水之源 阅读(943) 评论(0) 推荐(0)
摘要:仔细分析: 这是需要调整相机漫游器位置了 这个函数主要是判断当前_setVP0和_setVP1是否有值 有值就从当前_setVP0视点经过一条弧线飞到_setVP1视点下 飞行过程调用的函数就是setViewpointFrame() setViewpointFrame函数返回的就是0到1之间的插值系 阅读全文
posted @ 2018-03-09 16:28 南水之源 阅读(1726) 评论(2) 推荐(0)
摘要:JSBSim是一个模拟飞机飞行空气动力学的,这些都不用深入理解,只要知道自己程序怎么和JSBSim交互就行了 我使用的是JSBSim-Win32-0.9.13 原理:改写jsbsim的FGInput 和FGOutput两个类 使其能通过udp或者tcp与自己的程序进程通信,以实现自己程序通过网络端, 阅读全文
posted @ 2018-02-06 14:58 南水之源 阅读(2194) 评论(1) 推荐(0)
摘要:oe中的视角加速感觉好奇怪,就仿照谷歌方式去改了。 先看看oe原来的漫游器改变视角的接口: 这里有几个重点参数: osgEarth::optional<osgEarth::Viewpoint> _setVP0和_setVP1 :开始视点,结束视点 double _setVPAccel, _setVP 阅读全文
posted @ 2018-02-02 11:17 南水之源 阅读(1938) 评论(0) 推荐(0)
摘要:在初级版上,进行新的漫游方式调整 头文件: 实现: 阅读全文
posted @ 2018-01-24 17:07 南水之源 阅读(1220) 评论(0) 推荐(0)
摘要:由于受够了OE的漫游器,想搞个可以在全球飞行的漫游器,所以就做了一个: 请无视我的起名规则······ 类头文件:EarthWalkManipulator.h 类实现:EarthWalkManipulator.cpp 使用:main.cpp 由于是初级版,所以有些操作还是比较反人类··· 运行起来是 阅读全文
posted @ 2018-01-23 17:11 南水之源 阅读(2852) 评论(0) 推荐(0)
摘要:知识基础:osg漫游器基础 EarthManipulator是直接继承osgGA的漫游器的 所以漫游器工作方式也是和osg漫游器一样的: 1.通过handle函数进行键鼠交互 2.通过updateCamera函数更新相机姿态(姿态通过getInverseMatrix) 未完 阅读全文
posted @ 2018-01-15 14:27 南水之源 阅读(1095) 评论(0) 推荐(0)
摘要:在osg中添加相机动画路径请参考:http://www.cnblogs.com/lyggqm/p/8075277.html 这里的代码是在osgearth中添加相机动画路径漫游器: 有几点要注意: 1.这个dome在vs运行时,需要添加外部earth文件参数: 红色部分填写适合当前earth版本的‘ 阅读全文
posted @ 2017-12-21 10:41 南水之源 阅读(2319) 评论(2) 推荐(0)
摘要:基于全球的物理系统集成技术 引言 随着····· 概述 基于osgEarth渲染引擎,引入先进的物理引擎physics。 本篇主要讲述:原理和解决思路。 原理要点: 技术要点1空间坐标转换 常用的物理引擎都是基于直角坐标系为运算基础的,重力都是以某个轴的负方向为向量,如: Phscis 重力矢量为 阅读全文
posted @ 2017-11-06 16:12 南水之源 阅读(794) 评论(0) 推荐(0)
摘要:enum DLL_SAMPLE_API SPARKTrackType { SPARK_TRACK_FOLLOW = 0, //!< 粒子发射出的粒子也会随着节点移动 SPARK_TRACK_STANDALONE = 1, //!< 粒子发射出的粒子不跟随节点移动 SPARK_TRACK_MAX }; 阅读全文
posted @ 2017-09-07 13:24 南水之源 阅读(1236) 评论(0) 推荐(0)
摘要:直接上代码 我目前做的是spark粒子的喷射器跟随osgEarth上一个节点一起运动 并在父节点的基础上做相对偏移,用来做车尾尘,飞机尾焰等特效。 代码片段是写在 SparkUpdatingHandler::handle中的 目的是更新spark喷射器的位置。 有几点要注意的: 1.spark的节点 阅读全文
posted @ 2017-05-22 14:13 南水之源 阅读(1436) 评论(0) 推荐(0)
摘要:首先粒子在地球上位置摆放很简单: Spark粒子在跟踪节点移动时候,有两种方式: 这时候会有一些效果出现问题,比如,粒子移动时,想要spark已经喷射出的粒子不随MatrixTransForm移动的话就不能够实现。 我们来分析:spark是作为一个可渲染叶节点osg::Drawable添加进osg中 阅读全文
posted @ 2017-05-18 10:51 南水之源 阅读(3035) 评论(0) 推荐(0)
摘要:关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://stackoverflow.com/questions/6408198/bullet-vs-newto 阅读全文
posted @ 2017-04-14 17:37 南水之源 阅读(831) 评论(0) 推荐(0)
摘要:http://www.jianshu.com/p/b5e9f1f5df95 飞行控制率、稳定增强系统、自动驾驶仪和其他飞控系统(航电、电气等)都能够在 JSBSim 中以独立的控制组件进行建模。JSBSim 提供了一套可配置的组件,包含增益、滤波器、开关等。飞机系统是由一系列的组件构成,在飞机配置文 阅读全文
posted @ 2017-03-15 16:26 南水之源 阅读(6432) 评论(0) 推荐(0)
摘要:JSBSim的控制操作封装了飞行控制系统(FCS)的功能。 这个FGFCS类还封装了相同的“系统”和“自动驾驶仪”能力。 FGFCS包含用来定义一个系统或飞行模型体系的“FGFCS组件列表”。 飞机的配置文件包含控制路径的描述(从一个输入或命令开始和结束的效应),例如:aerosurface。 FC 阅读全文
posted @ 2017-03-15 11:16 南水之源 阅读(3234) 评论(0) 推荐(0)
摘要:废话没有,上关键代码 头文件 源文件 简单说一下: 我的功能是控制飞机的驾驶并用TCP告诉JSBSim。 JSBSim算当前飞机姿态,然后通过UDP告诉我飞机姿态 至于,为什么不用TCP一次性搞定,因为。。。我只是想试下TCP|UDP可以么。。。 关于JSBSim端怎么实现的,这个看看它源码自己研究 阅读全文
posted @ 2017-03-14 16:27 南水之源 阅读(2990) 评论(0) 推荐(0)
摘要:如题 加SB的“平滑”功能 阅读全文
posted @ 2017-03-03 17:34 南水之源 阅读(4516) 评论(3) 推荐(0)
摘要:以下是一个图形学算法库 http://apodeline.free.fr/FAQ/CGAFAQ/CGAFAQ.html#toc3 我是看osgearth的源码里会使用这里面的算法的 阅读全文
posted @ 2017-02-22 10:54 南水之源 阅读(598) 评论(0) 推荐(0)
摘要:在FlatteningLayer文件的createHeightField函数中:使用的github在2017年1月份的代码 创建一个高度场,长宽都是257,边界为0,高度引用大地水平基准面。 用默认值初始化高度场 在自己创建的LOD中创建一个高程查询信 解决缓存宽度 整合新高程 如果高程有任何改变, 阅读全文
posted @ 2017-02-18 16:44 南水之源 阅读(2311) 评论(2) 推荐(0)
摘要:这是从osgearth的ImageToHeightFieldConverter.cpp文件的 osg::HeightField* ImageToHeightFieldConverter::convert(const osg::Image* image ) 函数中找到的。 这里可以看出HeightFi 阅读全文
posted @ 2017-02-18 14:19 南水之源 阅读(1797) 评论(0) 推荐(0)