- 博客(19)
- 资源 (8)
- 收藏
- 关注
原创 osgEarth的Rex引擎原理分析(九十八)边界处瓦片颜色混合的实现
目标:(九十)中的问题172参看文章osgEarth的Rex引擎原理分析(九十五)地形变形(Terrain morphing)待继续分析列表:9、earth文件中都有哪些options((九)中问题)10、如何根据earth文件options创建不同的地理信息引擎节点((九)中问题)11、rex地理信息引擎的四梁八柱((九)中问题)12、osgEarth::Terra...
2020-04-29 07:11:52 533
原创 osgEarth的Rex引擎原理分析(九十七)rex引擎如何绘制等高线
目标:(八十八)中的问题1701、思路:相同高程点用同样颜色着色。2、效果图:3、glsl代码:#version $GLSL_VERSION_STR$GLSL_DEFAULT_PRECISION_FLOAT#pragma vp_name REX Engine - Fragment#pragma vp_entryPoint lzy_last_frag#pr...
2020-04-29 06:54:58 1118 1
原创 osgEarth的Rex引擎原理分析(九十六)RenderingPasses和RenderBindings
目标:(九十五)中的问题177RenderBindings用于声明rex引擎要渲染哪些种类的图层信息,比如影像、父影像、高程、法线等,只指定绑定类别,对每一个绑定类别都会设置其对应的采样器、偏移矩阵、纹理单元号,在rex的setupRenderBindings中有详细描述。RenderingPasses用于声明rex实际有哪些图层要渲染,这里的图层中,同一类型的可能有多个,比如多个影像层、...
2020-04-25 19:39:51 616
原创 osgEarth的Rex引擎原理分析(九十五)地形变形(Terrain morphing)
目标:(十二)中的问题14先看两张图,左图是使用了Image morphing,右图没有使用。morph的作用是使视域边界处的瓦片颜色和高程均匀变化。Image morphing控制颜色,Terrain morphing控制高程。1、实现原理2、如何控制待继续分析列表:9、earth文件中都有哪些options((九)中问题)10、如何根据earth文...
2020-04-25 17:42:55 1766
原创 osgEarth的Rex引擎原理分析(九十四)rex引擎如何显示瓦片的边界
目标:(八十八)中的问题171效果图如下:思路:在文章(osgEarth的Rex引擎原理分析(九十一)晕眩图的制作与实现)的基础上,判断纹理坐标的范围,在边界处用特殊颜色即可。着色器代码如下:if(oe_layer_tilec.s<0.01 || oe_layer_tilec.s>0.99 || oe_layer_tilec.t<0.01 || oe_lay...
2020-04-25 08:04:29 725
原创 osgEarth的Rex引擎原理分析(九十三)rex在渲染时会不会纹理单元内容频繁更改
目标:(九十一)中的问题173答案:会的,这是rex引擎启动后cpu、gpu占用率高德一个原因。1、每一个图层(影响层、高层)在绘制时会往显存上传数据osgEarthDrivers/engine_rex/LayerDrawable.cppvoidLayerDrawable::drawImplementation(osg::RenderInfo& ri) const{ ...
2020-04-25 06:44:22 663
原创 osgEarth的Rex引擎原理分析(九十二)rex自带的着色器代码会硬编码进动态库吗
目标:(九十一)中的问题175思路是将着色器文件的源码都放入一个cpp文件的变量中,再编译链接,就将着色器文件写死在动态库中了。秘密在rex引擎目录下的文件Shaders.cpp.in(最终该模板变成AutoGenShaders.cpp)// ***DO NOT EDIT THIS FILE - IT IS AUTOMATICALLY GENERATED BY CMAKE***#...
2020-04-24 21:50:42 612 1
原创 osgEarth的Rex引擎原理分析(九十一)晕眩图的制作与实现
目标:(七十八)中的问题152思路是:不同的高程采用不同的颜色进行着色,需要对rex引擎现有的片段着色器进行修改。默认的片段着色器是这样的(见osgEarth的Rex引擎原理分析(五十四)rex引擎默认的几个着色器功能分析):#version 330 compatibility #pragma vp_name VP Fragment Shader Main#extension GL...
2020-04-19 18:43:23 1412 5
原创 osgEarth的Rex引擎原理分析(九十)如何设置高度单位(m、km等)
目标:(八十二)中的问题160默认的单位是m,如果要修改为其它单位,需要直接修改profile文件,或者设置缩放比例 <profile srs="+proj=merc +a=6378137 +b=6356752.3142 +lat_ts=0.0 +lon_0=0.0 +x_0=0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +n...
2020-04-19 12:15:34 733 2
原创 osgEarth的Rex引擎原理分析(八十九)网络资源加载失败还会不会继续加载
目标:(八十二)中的问题161由osgEarth的Rex引擎原理分析(十七)瓦片请求的生成到处理过程详解,可以看出这需要从网络资源的加载过程说起,网络资源加载过程可分为如下几步:1、在瓦片创建时会生成加载网络资源的请求,在TileNode::create中2、在瓦片裁剪遍历时会将加载请求传送到DatabasePager中,...
2020-04-19 08:37:01 459
原创 osgEarth的Rex引擎原理分析(八十八)osgEarth::MemCache详解
目标:(八十二)中的问题1631、在图层open时创建具体在TerrainLayer中实现osgEarth/TerrainLayer.cppconst Status&TerrainLayer::open(){ if ( l2CacheSize > 0 ) { _memCache = new MemCache(...
2020-04-12 20:03:56 549
原创 osgEarth的Rex引擎原理分析(八十七)wmts与xyz、quadtree、tms的关系
目标:(七十九)中的问题157wmts是ogc地图服务的标准xyz是google的地图编号标准(也可以是服务标准)quadtree是微软的地图服务标准tms是开源标准目前osgEarth的rex引擎仅支持xyz、tms和osg的wms地图服务标准。OGC全称——开放地理空间信息联盟(Open Geospatial Consortium), 它的主要目的就是制定与...
2020-04-10 06:38:01 4488 2
原创 osgEarth的Rex引擎原理分析(八十六)osgEarth跨平台的头文件包含设置
目标:(八十三)中的问题166主要是设置不同的操作系统上,系统函数从哪里找#ifdef WIN32# include <windows.h>#else# include <stdio.h># include <stdlib.h>#endif#include <sys/types.h>#ifdef WIN32# i...
2020-04-10 06:00:56 403
原创 osgEarth的Rex引擎原理分析(八十五)osgEarth::Map的cache创建过程
目标:(八十三)中的问题165缓存是有体系的,有高速缓存、文件缓存等。高速缓存在内存中,文件缓存在文件系统中。
2020-04-10 05:58:51 641
原创 osgEarth的Rex引擎原理分析(八十四)OGR与GDAL的关系
目标:(八十二)中的问题164OGR是GDAL的一部分,GDAL侧重栅格数据,OGR侧重矢量数据GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对...
2020-04-10 05:49:37 1231
原创 C++学习(八十一)deprecated声明
C++ 属性:deprecated (C++14 起)指示声明有此属性的名字或实体被弃用,即允许但因故不鼓励使用。语法[[deprecated]] (1) [[deprecated( 字符字面量 )]] (2) 字符字面量 - 能用于解释弃用的理由并/或提议代替用实体的文本解释指示允许使用声明有此属性的名称或实体,但因故不鼓励使用。编译器通常会对其使用情况发出警告。若指定...
2020-04-08 06:14:45 1197 1
原创 C++学习(八十)Qt的模块
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前...
2020-04-06 08:30:16 402
osgAndroidExampleGLES2重新组织TestNativeCPlusPlus
2021-06-19
NVIDIA_Nsight_Tegra_Release_3.6.19217.7511.exe
2021-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人