English
登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
原创商城
官方淘宝
二手市场
学院
云课堂
考试
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
联机
航空人生(连飞)
飞行人生(虚航)
空管人生(虚管)
空战人生(对战)
工具
联飞地图
航路查询
航图查询
气象报文
资源
插件库
素材库
云网盘
企业
飞行者联盟
»
论坛
›
【飞行仿真实验室】
›
软件开发
›
WorldWind
›
解读WorldWind(二)基本情况
返回列表
发新帖
查看:
1285
|
回复:
0
解读WorldWind(二)基本情况
[复制链接]
495641689
495641689
当前离线
UID
4847
注册时间
2014-4-8
在线时间
小时
最后登录
1970-1-1
精华
阅读权限
30
听众
收听
雷达卡
发表于 2022-9-26 20:26:34
|
显示全部楼层
|
阅读模式
目前最新的WorldWind版本是2.0.0,使用Java开发,通过JOGL调用系统的OpenGL接口完成3D绘图。JOGL的基本介绍可以参见
JOGL_互动百科 ,我就不搬运了。
使用Java的基本原因我猜想是为了跨平台,WorldWind可以运行在Windows、Linux和MacOS上,俺目前在Windows和MacOS上测试过,感觉Mac比Windows流畅,还没深入研究原因,俺的MBP是I5CPU,集显,Windows是E8500CPU,Nvidia Quadro显卡,据此猜测WorldWind利用CPU多过GPU。
OpenGL只负责画图,也就是包含地球、天空的面板那一部分,在GUI当中,这个面板要嵌入到一个窗口容器里,才符合用户习惯,窗口系统虽然不是重点,但也必不可少。WorldWind使用AWT而不是Swing来绘制窗口。具体可以参见 java.awt_互动百科 ,这里不再展开。
OpenGL地球面板大致是个MVC架构,基本的View是WorldWindowGLCanvas,实现WorldWindow接口,基本的Controller是
StereoOptionSceneController,但是主要方法都在AbstractSceneController里,实现SceneController接口。使用PropertyChangeListener来传递和处理UI和通信消息,实现Model、View与Controller之间的绑定。
顶级类层次结构如下图
基本上所有重要的接口都继承自WWObject,所有重要的类都继承自WWObjectImpl,这两样是对应的,每个WWObjectImpl的子类都会继承一个WWObject的子接口。WWObject的定义是这样的:
public interface WWObject extends AVList, java.beans.PropertyChangeListener, MessageListener
可见继承了两个Listener接口,用来处理消息,这在上面已经提到了。而奇葩的是,还继承了一个AVList,这个东西基本上就是一个Map,用来读取和保存配置文件里的keyvalue对,因此很多类本身都自带配置的keyvalue对,这些配置是创建类的工厂在创建时从文件里读出来的。这样处理配置文件的手法俺还是第一次见到,俺自己写代码的话,读取配置这种事一般会封装一个helper类,当个utility来处理,肯定不会拿来当顶层类。
WorldWind的核心是三样东西:模型、地形、图层,模型决定基本的几何参数,也是放置地形和图层的位置基准。地形是附在模型上的栅格,从高程数据中生成出来,表示地表的起伏变化。图层通常是附在模型或者地形栅格上的图片纹理,但也有一些例外,比如星空图层、比例尺图层,控件图层,罗盘图层等,都不依附于球体模型。这部分内容较多,下次再详细讲。
解读
,
基本
,
情况
相关帖子
•
请教,正版2020,不知啥情况,所有默认机显示屏全黑了.
•
认识波音MCP:解读飞行操作的关键工具
•
小课堂飞行第一课:塞斯纳基本飞行驾驶术
•
「熟」基本驾驶舱仪表基础讲解-塞斯纳172非典型
•
现代空战3D——告诉自己拇指一定要放松,听话就灵活一点,赢的机会也大些,遇到大佬太紧张基本都是输的。
•
老乔杂谈:如何解读“单发时提供双飞行指引引导”?
•
川航3U8633调查报告解读:空客引以为豪的安全体系为何失效? | 石豪
•
川航3U8633调查报告解读:空客引以为豪的安全体系为何失效?
•
机毁人亡仅一步之遥 —— 管制员带你解读JFK离谱的“多重”跑道侵入事件
•
787飞行员专业角度解读南航擦机尾事件
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表