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、刷新边界作用((十二)中问题)

猜你喜欢

转载自blog.csdn.net/hankern/article/details/84160758