ReadResult result; osg::ref_ptr<osgDB::ReaderWriter> reader = osgDB::Registry::instance()->getReaderWriterForExtension("tif"); std::string name("D:\\gd.tif"); osgDB::ReaderWriter::Options* opt= NULL; osgDB::ReaderWriter::ReadR…
看了一下,OE生成的可执行文件 除了osg库和第三方库 OE生产最多的dll就是 osgdb_osgearth_XXXX.dll了 这些都是为了通过osgDB机制加载earth的数据用的. 所以,我觉得osgearth主要的工作是在给osg添加大量的DB插件,也就是数据读取解析插件! 这样可以读取能画出“earth地球”功能的数据!这是OE的主要行为…
1.osgearth_graticule:生成经纬线. 2.osgearth_annotation:各类标注(点.线.面.模型.文本等). 3.osgearth_city:加载一个城市三维模型,可以浏览. 4.osgearth_clamp:在一个区域加载生成5000个树木的三维模型展示. 5.osgearth_colorfilter:运行不起来…… 6.osgeatth_controls:有一个osg的图标,可以控制透明度与方向.还有一些文本矩形框之类的. 7.osgearth_demo:qt的…
首先粒子在地球上位置摆放很简单: //传入的经纬度坐标 osg::Vec3d geoPoint; const SpatialReference* latLong = SpatialReference::get("wgs84"); //偏移在地球上的点 GeoPoint point(latLong, geoPoint.x(), geoPoint.y(), geoPoint.z(), eMode); osg::Matrix matrixGood; point.createLocalToWo…
bool EarthManipulator::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) { bool handled = false; // first order of business: make sure the CSN is established. if ( !established() ) return false; // make sure the camera projecti…
//osg::Matrix offsetmatrix 计算出子节点在父节点下的绝对坐标 //osg::Matrix offposition 用来计算当前节点相对父节点的位置 osg::Matrix offsetmatrix; offsetmatrix.setTrans(newposition3); offsetmatrix.preMultRotate(fatherquat); offsetmatrix.preMultRotate(itr->_quatOffsetRotate); osg::Mat…
关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://stackoverflow.com/questions/6408198/bullet-vs-newton-game-dynamics-vs-ode-physics-engines 讨论作者想要哪款物理引擎 https://www.ibm.com/developerworks/cn/opensource…
在osgEarthUtil 下 Ocean.cpp 的  traverse函数中: // we don't want the ocean participating in the N/F calculation: osg::CullSettings::ComputeNearFarMode mode = cv->getComputeNearFarMode(); cv->setComputeNearFarMode( osg::CullSettings::DO_NOT_COMPUTE_NEAR_FA…
倾斜摄影三维模型格式包含:*.osgb,*.dae等 文件格式包含:*.xml, *.desc, *.lfp等 例如:LocaSpace Viewer软件把osgb分块模型文件建立索引生成一个lfp文件,该lfp文件包含三维模型所在的经度.纬度.高度值,便于倾斜摄影三维模型在地球上进行定位. osgb节点内部关系: MatrixTransform (通过ProxyNode关联PageLod) || PageLod || PageLod || PageLod || PageLod ..... ||…
总体介绍: 倾斜摄影就是将拍好的数据,三角网格化再附上贴图. 目前流行处理软件: Street Factory.PIX4DMapper.smart3D 后期开发平台:超图 Skyline smart3D相关资源网址:http://www.acute3d.com/s3c-viewer/ 其他相关平台:LocaSpace Viewer osgb文件是保存倾斜摄影的基本数据格式 可以通过osgconv.exe直接转换成osgt格式查看内部构造 使用webgl的cesium需要将osgb格式转换成3dT…
因为对于globalmap不熟悉,不怎么怎么修改高程,好像也没有这功能. 干脆自己手动修改了高程图tiff了 由于自身一直使用osg的 自己使用了osgDB直接读取tiff,修改后保存的. 同事小周一直研究gdal,她使用了gdal库直接改的,事实证明在专业gis处理上还是gdal更合适,现在把两种方式都总结一下: 第一种:通过osgDB修改tiff #include <osg/Image> #include <osgViewer/Viewer> #include <osgE…
OSG模型简单控制 转自:http://milkcu.sintune.net/blog/archives/1392673560.html 结点基本操作 添加结点 OSG中使用osg::Node和osg::Group装载模型,Node是Group的父类. 可以通过下面代码再场景中显示多个模型: #include <osgDB/ReadFile> #include <osgViewer/Viewer> #include <osg/Node> int main(void) {…
关于OGRE与OSG的简单比较 林乃养 lnychina{at}gmail.com 浙江大学CAD&CG实验室 2010年3月27日 1 前言 我曾经细致阅读过OGRE和OSG官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph Quick Guide>,同时在网络上查阅了大量的OGRE架构源码分析的文章.简单使用过OSG,对OSG的场景管理器设计和编程风格有所了解,而在近期的…
关于 OGRE 与 OSG 的简单比较 1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph  Quick  Guide>,同时在网络上查阅了大量的 OGRE 架构源码分析的文章.简单使用过 OSG,对 OSG 的场景管理器设计和编程风格有所了解,而在近期的项目中大量使用 OGRE,相对于 OSG,对 OGRE 的认识比较深刻一些.…
C# mvc读取模板并修改上传到web 后台: public FileResult GetXls() { FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/Content/数据挖掘模版.xlsx"), FileMode.Open, FileAccess.ReadWrite); XSSFWorkbook book = new XSSFWorkbook(fs); //添加一个she…
//main.cpp #include "VREObliqueEditorQTWindow.h" #include <QtWidgets/QApplication> #include <QTextCodec> #include <QFileInfo> int main(int argc, char *argv[]) { QTextCodec *xcodec = QTextCodec::codecForLocale(); QString exeDir…
在初级版上,进行新的漫游方式调整 头文件: #pragma once //南水之源 20180101 #include <osgGA/CameraManipulator> #include <osgEarth/MapNode> #include <osgEarth/Viewpoint> #include <osgEarth/GeoData> class EarthWalkManipulator :public osgGA::CameraManipulator…
由于受够了OE的漫游器,想搞个可以在全球飞行的漫游器,所以就做了一个: 请无视我的起名规则······ 类头文件:EarthWalkManipulator.h #pragma once //南水之源 20180101 #include <osgGA/CameraManipulator> #include <osgEarth/MapNode> #include <osgEarth/Viewpoint> #include <osgEarth/GeoData> c…
知识基础:osg漫游器基础 class OSGEARTHUTIL_EXPORT EarthManipulator : public osgGA::CameraManipulator EarthManipulator是直接继承osgGA的漫游器的 所以漫游器工作方式也是和osg漫游器一样的: 1.通过handle函数进行键鼠交互 2.通过updateCamera函数更新相机姿态(姿态通过getInverseMatrix) 未完…
英文原文在 FGFCS.h头文件中 JSBSim的控制操作封装了飞行控制系统(FCS)的功能. 这个FGFCS类还封装了相同的“系统”和“自动驾驶仪”能力. FGFCS包含用来定义一个系统或飞行模型体系的“FGFCS组件列表”. 飞机的配置文件包含控制路径的描述(从一个输入或命令开始和结束的效应),例如:aerosurface. FCS组件包括一个轴的控制律是在配置文件中定义的顺序.例如,x - 15 <flight_control name="X-15 SAS"> <…
1.osgearth_graticule:生成经纬线. 2.osgearth_annotation:各类标注(点.线.面.模型.文本等). 3.osgearth_city:加载一个城市三维模型,可以浏览. 4.osgearth_clamp:在一个区域加载生成5000个树木的三维模型展示. 5.osgearth_colorfilter:运行不起来-- 6.osgeatth_controls:有一个osg的图标,可以控制透明度与方向.还有一些文本矩形框之类的. 7.osgearth_demo:qt的…
参考源码:osg的官方例子:osganimationviewer 首先制作一个带骨骼动画的模型  demo.FBX 这里面我们做了两个骨骼动画:1.open   2.close 下面开始在osg中使用这个动画. 我们用几种代码从简到繁来演示加载播放等过程: 1.最简单的示例代码 #include <osgViewer/Viewer> #include <osgDB/ReadFile> #include <osgAnimation/BasicAnimationManager&g…
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.MatrixTransform.PositionAttitudeTransform等四种类型的节点上.二)演示了osgSim::OverlayNode的使用 2.example_osganimationeasemotion一)演示了osgAnimation::EaseMotion的使用,EaseMot…
原文参考:http://docs.osgearth.org/en/latest/developer/maps.html#programmatic-map-creation 本人翻译水平有限... 加载earth地图文件 osg::Node* globe = osgDB::readNodeFile("myglobe.earth"); 最简单的方式 API编程式的地图创建 用API创建一个地图的基本步骤是: 1.创建一个地图对象(Map object)2.在你认为合适的地方添加图像层和高程…
原文参考:http://docs.osgearth.org/en/latest/user/features.html 自己翻译的,本人英文水平有限,有问题看原链接,原文 20170802重置修改部分翻译(本人也在不断学习啦O(∩_∩)O~) 注:OE就是osgEarth 了解Features Features是矢量的几何图形 不像(光栅化的)地图与高程数据,他不是离散的像素位图. osgEarth可以在任何级别详细的显示Features. 一个Features由三个部分组成 1.矢量的几何图形(…
查看osgconv.cpp main函数在533行 osg::ArgumentParser arguments(&argc,argv); //........一堆功能不管,先看一下文件读写 FileNameList fileNames; ;pos<arguments.argc();++pos) { if (!arguments.isOption(pos)) { fileNames.push_back(arguments[pos]); } } std::string fileNameOut(&…
1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph  Quick  Guide>,同时在网络上查阅了大量的 OGRE 架构源码分析的文章.简单使用过 OSG,对 OSG 的场景管理器设计和编程风格有所了解,而在近期的项目中大量使用 OGRE,相对于 OSG,对 OGRE 的认识比较深刻一些.目前 OGRE 的最新版本是 1.7,O…
===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内存播放器 最简单的基于FFmpeg的内存读写的样例:内存转码器 ===================================================== 上篇文章记录了一个基于FFmpeg的内存播放器,能够使用FFmpeg读取并播放内存中的数据. 这篇文章记录一个基于FFmpeg的…
===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内存播放器 最简单的基于FFmpeg的内存读写的样例:内存转码器 ===================================================== 打算记录两个最简单的FFmpeg进行内存读写的样例. 之前的全部有关FFmpeg的样例都是对文件进行操作的.比如<100行代码实…
最近在基于亚马逊MWS API做一些服务,需要读取亚马逊返回的报表,是一个按照\t分割的文本,所以就封装了一个简单小巧的CsvReader类 使用方法 使用方法非常简单,只需要传递一个stream子类的实例就行 var stream = new FileStream('file.csv', FileMode.Open, FileAccess.Read); var reader = new CsvReader(stream); Rows CsvHeader实例会有一个Rows属性,使用这个属性来获…