- 博客(16)
- 资源 (8)
- 收藏
- 关注
原创 osgEarth对Shaders.cpp.in的处理
为什么要使用Shaders.cpp.in(还有MPShaders.cpp.in SimpleSkyShaders.cpp.in SplatShaders.cpp.in DetailShaders.cpp.in)?主要是为了实现shader的单独成文件,不用硬编码到cpp文件中。借助CMake对Shaders.cpp.in进行处理,重新生成cpp文件,从而将shader文件编码到这个新cpp中...
2019-01-27 16:59:38 658 2
原创 osgViewer::View都有哪些eventhandler
view->addEventHandler(new osgViewer::StatsHandler());//实现状态信息统计 view->addEventHandler(new osgViewer::WindowSizeHandler()); view->addEventHandler(new osgViewer::ThreadingHandler()...
2019-01-27 07:01:25 1145
原创 osg状态信息统计的实现原理
osgViewer::Viewer首先添加osgView::StatsHandler负责统计信息的处理osgView::StatsHandle中的handle函数具体负责s键的响应和切换。osgViewer/StatsHandler.cppbool StatsHandler::handle(const osgGA::GUIEventAdapter& ea, osgGA::G...
2019-01-26 07:43:30 1490 3
原创 osgEarth使用对数深度缓存
使用对数深度缓存可以在一定程度上解决z冲突(Z-Fighting),osgEarth也支持使用对数深度缓存,方法是: if ( useLogDepth ) { OE_INFO << LC << "Activating logarithmic depth buffer (vertex-only) on main camera" <&l...
2019-01-22 06:03:09 2457
原创 osg的shader使用过程
方法一(osg)://创建shaderosg::Shader* vShader = new osg::Shader(osg::Shader::VERTEX, vertexSource);osg::Shader* gShader = new osg::Shader(osg::Shader::GEOMETRY, geomSource);osg::Shader* fShader = new ...
2019-01-17 06:29:18 3833
原创 osgEarth的Rex引擎原理分析(四十三)osgEarth的Geographic、Geodetic、Geocentric和Project的关系
目标:(三十六)中的103Geographic采用经纬高,高度是平均海平面高(需要有垂直水准面辅助)Geodetic采用经纬高,高度是相对椭球体的法线高ECEF(也即Geocentric)采用地心直角坐标系XYZProject采用投影坐标系 osgEarth/SpatialReference class OSGEARTH_EXPORT SpatialRefere...
2019-01-13 16:25:33 1757
原创 osgEarth的Rex引擎原理分析(四十二)osgEarth::SpatialReference和osgEarth::Profile的关系
目标:(三十六)中的问题102osgEarth::Profile关注空间范围、初始LOD数目等信息。GeoExtent中有SpatialReference信息,因此通过Profile能获取到SpatialReference信息。每一个高程、影像层都有自己的Profile。osgEarth/Profile class OSGEARTH_EXPORT Profile : public...
2019-01-13 16:00:32 1477 1
原创 osgEarth的Rex引擎原理分析(四十一)osg::State和osg::StateSet的关系
目标:(三十四)中的101osg::State是osg封装的opengl状态机,是全局的。osg状态机会在各个StateSet中切换,以完成图形的绘制。osg/State/** Encapsulates the current applied OpenGL modes, attributes and vertex arrays settings, * implements lazy...
2019-01-13 07:25:44 1003
原创 osgEarth的Rex引擎原理分析(四十)osgEarth::Drivers::RexTerrainEngine::TileDrawable分析
目标:(三十)中的问题93起到组织瓦片几何图形的作用,不做具体渲染在绘制时,TerrainCuller会从其中提取几何图形信息。osgEarthDrivers/engine_rex/TerrainCuller.cppDrawTileCommand*TerrainCuller::addDrawCommand(UID uid, const TileRenderModel* model...
2019-01-05 18:01:58 554
原创 osgEarth的Rex引擎原理分析(三十九)ModifyBoundingBoxCallback的使用时机和场合
目标:(三十)中的问题90在计算TIleNode的裁剪遍历时,需要计算瓦片的可视性,这时就需要计算瓦片的包围立方体。每一个几何图形Drawable都会有一个默认的计算包围立方体的方法,这里ModifyBoundingBoxCallback主要是起到修正包围立方体的作用。在rex引擎构造时生成,放入上下文环境中,供使用osgEarthDrivers/engine_rex/RexTerr...
2019-01-05 17:59:48 353 1
原创 osgEarth的Rex引擎原理分析(三十八)MapFram和MapInfo的关系
目标:(三十)中的问题89osgEarth::MapInfo主要用于记录Map的参数配置信息、投影信息(大地、正交、立方体)和高程插值信息。一般从Map生成MapInfo mapInfo(context->getMap());osgEarth/MapInfo class OSGEARTH_EXPORT MapInfo { osg::ref_ptr&l...
2019-01-04 06:38:08 423
原创 osgEarth的Rex引擎原理分析(三十七)osgEarth如何对投影坐标系和大地坐标系进行显示处理的
目标:(二十九)中的问题87osgEarth如何对投影坐标系和大地坐标系进行显示处理的为什么一个能显示成球,一个显示成平面<map name="MBTiles" type="geocentric" version="2"> <options> <profile>epsg:4326</profile>
2019-01-01 16:05:19 2481 2
原创 osgEarth的Rex引擎原理分析(三十六)为什么要删除设置过的垂直水准面
目标:(二十九)中的问题86椭球体 水平面 应该不是删除,而是信息创建出一个没有垂直水准面的Profile 待继续分析列表:9、earth文件中都有哪些options((九)中问题)10、如何根据earth文件options创建不同的地理信息引擎节点((九)中问题)11、rex地理信息引擎的四梁八柱((九)中问题)12、osgEarth::Terra...
2019-01-01 16:03:25 371
原创 osgEarth的Rex引擎原理分析(三十五)osgEarth地球椭球体ellipsoid 大地基准面datum 地图投影Projection详解
目标:(二十九)中的问题83地球椭球体的中心为地心,形状为椭球体大地基准面是适应某一区域的椭球体,球体中心不一定在地心地图投影是球面和平面映射关系的方法待继续分析列表:9、earth文件中都有哪些options((九)中问题)10、如何根据earth文件options创建不同的地理信息引擎节点((九)中问题)11、rex地理信息...
2019-01-01 16:01:35 1280
原创 osgEarth的Rex引擎原理分析(三十四)资源释放器子节点的作用
目标:(十二)中的问题19资源释放器器子节点在rex引擎的setMap中创建,用于释放过期对象的opengl资源osgEarthDrivers/engine_rex/RexTerrainEngineNode.cppvoidRexTerrainEngineNode::setMap(const Map* map, const TerrainOptions& options){...
2019-01-01 15:59:37 835
原创 osgEarth的Rex引擎原理分析(三十三)分页瓦片卸载器子节点的作用
目标:(十二)中的问题22分页瓦片卸载器是在Rex引擎的setMap函数中创建的,创建之初就关联了活跃瓦片寄存器和资源释放器。作用见下面分析。osgEarthDrivers/engine_rex/RexTerrainEngineNode.cppvoidRexTerrainEngineNode::setMap(const Map* map, const TerrainOptions&a...
2019-01-01 08:21:54 539
osgAndroidExampleGLES2重新组织TestNativeCPlusPlus
2021-06-19
NVIDIA_Nsight_Tegra_Release_3.6.19217.7511.exe
2021-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人