WorldWind源码剖析系列:漫游时四叉树瓦片类QuadTile的运行思路

用户在窗口漫游时,需要加载精细的高程和纹理数据时的处理思路:当用户漫游时直到窗口相机的视场角的1/2小于(瓦片大小*瓦片绘制距离的乘积)时,才初始化四叉树瓦片类QuadTile,或者加载本地缓存中的数据,或者通过http请求下载远程的网络数据。接下来的处理流程为:

网络下载相关类之间的引用关系:

记住:在QuadTile::Initialize()和TerrainTile:: Initialize()这两个初始化方法中做了很多事情,如:判断影像瓦片数据或高程瓦片数据在本地缓存中是否存在,如果否,则发起http网络下载请求,缓存到本地目录之后再解析。如果是,则直接解析本地缓存中的瓦片数据。下载纹理影像瓦片数据时,会标记下载不成功的坏文件,还会将图片格式转换为D3D的dds格式压缩纹理,以节省GPU的纹理内存。下载高程瓦片数据时,根据情况对下载回来的数据进行解压缩处理。下载纹理影像瓦片数据时用到了生产者-消费者、任务队列等多线程编程模型。

posted @   rainbow70626  阅读(247)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示