WorldWind源码剖析系列:漫游时四叉树瓦片类QuadTile的运行思路
Posted rainbow70626
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WorldWind源码剖析系列:漫游时四叉树瓦片类QuadTile的运行思路相关的知识,希望对你有一定的参考价值。
用户在窗口漫游时,需要加载精细的高程和纹理数据时的处理思路:当用户漫游时直到窗口相机的视场角的1/2小于(瓦片大笑*瓦片绘制距离的乘积)时,才初始化四叉树瓦片类QuadTile,或者加载本地缓存中的数据,或者通过http请求下载远程的网络数据。接下来的处理流程为:
网络下载相关类之间的引用关系:
记住:在QuadTile::Initialize()和TerrainTile:: Initialize()这两个初始化方法中做了很多事情,如:判断影像瓦片数据或高程瓦片数据在本地缓存中是否存在,如果否,则发起http网络下载请求,缓存到本地目录之后再解析。如果是,则直接解析本地缓存中的瓦片数据。下载纹理影像瓦片数据时,会标记下载不成功的坏文件,还会将图片格式转换为D3D的dds格式压缩纹理,以节省GPU的纹理内存。下载高程瓦片数据时,根据情况对下载回来的数据进行解压缩处理。下载纹理影像瓦片数据时用到了生产者-消费者、任务队列等多线程编程模型。
以上是关于WorldWind源码剖析系列:漫游时四叉树瓦片类QuadTile的运行思路的主要内容,如果未能解决你的问题,请参考以下文章