1. 程式人生 > >osgEarth的Rex引擎原理分析(十四)分頁瓦片載入器子節點的作用

osgEarth的Rex引擎原理分析(十四)分頁瓦片載入器子節點的作用

目標:(十二)中的問題21

在rex引擎的setMap中建立了分頁瓦片載入器子節點

osgEarthDrivers/engine_rex/RexTerrainEngineNode.cpp
void
RexTerrainEngineNode::setMap(const Map* map, const TerrainOptions& options)
{
    PagerLoader* loader = new PagerLoader( this );
    loader->setNumLODs(_terrainOptions.maxLOD().getOrUse(DEFAULT_MAX_LOD));
    loader->setMergesPerFrame( _terrainOptions.mergesPerFrame().get() );
    for (std::vector<RexTerrainEngineOptions::LODOptions>::const_iterator i = _terrainOptions.lods().begin(); i != _terrainOptions.lods().end(); ++i) {
        if (i->_lod.isSet()) {
            loader->setLODPriorityScale(i->_lod.get(), i->_priorityScale.getOrUse(1.0f));
            loader->setLODPriorityOffset(i->_lod.get(), i->_priorityOffset.getOrUse(0.0f));
        }
    }

    _loader = loader;
    this->addChild( _loader.get() );
}

首先是呼叫PagerLoader的建構函式,該函式設定節點路徑_myNodePath,建立資料庫選項並設定檔案位置回撥函式和分頁瓦片載入器,初始化各級lod的優先縮放和平移數值。

然後設定lod的數目,一般為20.

設定

 

 

 

 

 

 

 

 

待繼續分析列表:

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