osgEarth的Rex引擎原理分析(十三)選擇資訊的作用
目標:(十二)中的問題28
在rex引擎建立時,會建立選擇資訊結構體SelectionInfo _selectionInfo;該結構體包含了lod切換的距離設定的引數資訊。該結構體的包含三個全域性設定:
osgEarthDrivers/engine_rex/SelectionInfor.cpp const unsigned SelectionInfo::_uiLODForMorphingRoundEarth = 0; const double SelectionInfo::_fLodLowerBound = 12.0; const double SelectionInfo::_fMorphStartRatio = 0.66;
三個成員變數的含義:
在rex引擎setMap時,會對_selectionInfo進行初始化
osgEarthDrivers/engine_rex/RexTerrainEngineNode.cpp void RexTerrainEngineNode::setMap(const Map* map, const TerrainOptions& options) { _selectionInfo.initialize( 0u, // always zero, not the terrain options firstLOD std::min( _terrainOptions.maxLOD().get(), maxLOD ), _mapFrame.getMapInfo().getProfile(), _terrainOptions.minTileRangeFactor().get() ); }
這個初始化主要完成以下工作,核心是設定各級瓦片的視覺化引數,引數放在一個向量中_vecVisParams:
1、設定第一級lod_uiFirstLOD,一般為0
2、設定lod級數,一般為20級
3、設定每一級瓦片的視覺化距離,一般為瓦片外接圓半徑的14倍
4、設定每級的變形開始和結束值
待繼續分析列表:
9、earth檔案中都有哪些options((九)中問題)
10、如何根據earth檔案options建立不同的地理資訊引擎節點((九)中問題)
11、rex地理資訊引擎的四樑八柱((九)中問題)
12、osgEarth::TerrainEngineNode中setMap方法作用((十二)中問題)
13、RexTerrainEngineNode中_mapFrame的作用((十二)中問題)
14、地形變形(Terrain morphing)((十二)中問題)
15、地球瓦片過期門限的含義((十二)中問題)
16、高解析度優先的含義((十二)中問題)
17、OSGEARTH_DEBUG_NORMALS環境變數的作用((十二)中問題)
18、活躍瓦片暫存器的作用((十二)中問題)
19、資源釋放器子節點的作用((十二)中問題)
20、共享幾何圖形池子節點的作用((十二)中問題)
21、分頁瓦片載入器子節點的作用((十二)中問題)
22、分頁瓦片解除安裝器子節點的作用((十二)中問題)
23、柵格化器子節點的作用((十二)中問題)
24、地形子節點的作用((十二)中問題)
25、繫結渲染器的作用((十二)中問題)
26、地圖回撥函式的作用((十二)中問題)
27、如何將地圖圖層新增到rex引擎中((十二)中問題)
28、選擇資訊的作用((十二)中問題)
29、瓦片包圍盒修改回撥函式的作用((十二)中問題)
30、重新整理rex引擎((十二)中問題)
31、重新整理邊界作用((十二)中問題)