C# WorldWind 1.4源码学习
文章平均质量分 82
C#版WorldWind 1.4版的源代码研究。基于DotNet2.0和DirectX 9.0,虽然该版本早已停止更新,使用的技术也已过时,但其系统设计仍有可借鉴的地方。
eamon100
厚积薄发
展开
-
WorldWind学习系列:1、准备调试环境
NASA World Wind 由 NASA开发,类似 Google Earth 的地球模拟工具,它是开源软件,有C#,Java、Android和Web等多个版本。本文准备C#版本的调试运行环境。原创 2022-11-27 17:40:17 · 1192 阅读 · 0 评论 -
WorldWind学习系列:2、基本流程
本篇介绍WorldWind的基本运行流程和地球球体创建过程。原创 2022-11-30 10:43:07 · 939 阅读 · 0 评论 -
WorldWind学习系列:3、瓦片图片图片存储管理ImageStore
瓦片数据集QuadTileSet图片存储管理涉及三个类:用于本地储存瓦片的ImageStore,用于网络瓦片服务的NltImageStore,用于WMS服务器提供瓦片的WmsImageStore。原创 2022-12-01 18:29:42 · 373 阅读 · 0 评论 -
WorldWind学习系列:4、空闲处理OnApplicationIdle流程
在程序没有要处理的消息时,会调用WorldWindow.OnApplicationIdle函数,更新渲染场景,重绘整个场景,本篇简要介绍主要流程。原创 2022-12-02 14:08:30 · 134 阅读 · 0 评论 -
WorldWind学习系列:5、摄像机类
WorldWind的坐标系以地心为原点,地心到0度经线与赤道的交点为X轴,地心到北极点为Z轴,地心到东经90度经线与赤道的交点为Y轴,三坐标轴构成一个右手坐标系。原创 2022-12-22 19:10:08 · 539 阅读 · 0 评论 -
WorldWind学习系列:6、菜单按钮类
WorldWind的界面中有工具栏和层管理器,这些界面元素都是通过D3D绘制的。其中,WorldWindow有一个MenuBar对象,代表工具栏,工具栏包含两类按钮,一类是工具按钮m_toolsMenuButtons,包括LayerManagerButton,PositionMenuButton,LatLonMenuButton等,他们均继承自MenuButton类。另一类是图层按钮m_layersMenuButtons,用于控制图层的显示和隐藏。原创 2023-02-14 19:21:41 · 224 阅读 · 0 评论 -
WorldWind学习系列:7、 高程数据访问类
World类中包含地形访问器类对象来访问地形数据,通过读取地球配置文件中的TerrainAccessor 字段,构建一个地形访问器类NltTerrainAccessor 对象(列表)。地形访问器类包含一个地形瓦片服务对象: TerrainTileService tts,用于管理地形瓦片。其中有访问的网址,瓦片的层级,每个瓦片的高程点数量等信息。其类关系图如下:一、类类是基类,主要包括四角点经纬度,名字等信息。主要函数:float。原创 2023-07-08 15:40:54 · 137 阅读 · 0 评论 -
WorldWind学习系列:8、地球的渲染器类
World中有两个渲染器类对象,分别是地球表面渲染器WorldSurfaceRenderer和投影矢量渲染器ProjectedVectorRenderer。分别调用他们的Update和Render相关函数。原创 2023-07-08 16:29:42 · 142 阅读 · 0 评论 -
WorldWind学习系列:9、下载类
下载请求类:原创 2023-07-08 15:37:44 · 81 阅读 · 0 评论 -
WorldWind学习系列:10、可渲染对象类
RenderableObjectList类是一个可渲染对象列表类,自身也是RenderableObject类的子类。每个RendrableObject类都含有一个指向RenderableObjectList 类的对象,是他的父节点。RenderableObject类是所有可渲染对象的基类,它是一个虚类,不能实例化。World类是一个球体类,也是可渲染对象,主要用于管理。原创 2023-07-08 15:33:47 · 85 阅读 · 0 评论 -
WorldWind学习系列:20、配置管理类
WorldWindSettings和WorldSettings两个类的基类都属于SettingsBase,不论是哪个配置文件,最终都将调用SettingsBase.Load(defaultSettings, fileName)* 11)Layers 图层,此处新建list,未加载任何图层loadedLayers。* 2) UI 界面窗口显示,除toolbar之类的显示外还包括字体字号设置。* 7) 3D 三维设置,如贴图格式设置成dds。* 3) Grid 格网设置,颜色等。原创 2022-12-01 18:32:17 · 55 阅读 · 0 评论