1. 程式人生 > >osgEarth的Rex引擎原理分析(十三)選擇資訊的作用

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、重新整理邊界作用((十二)中問題)