3个不稳定版本
使用旧的Rust 2015
0.2.1 | 2018年3月28日 |
---|---|
0.2.0 | 2018年3月15日 |
0.1.0 | 2018年3月12日 |
#64 in 渲染引擎
1MB
1.5K SLoC
点击上面的图片查看视频演示和该项目的高级概述。
Gaia,Rust中的星球可视化器
来自NASA蓝宝石的卫星影像
来自NOAA GLOBE的高程数据
来自自然地球的政治边界数据。
这是一个让您查看世界的程序。您可以上下滚动并移动相机。它完全用Rust编写,使用了Piston游戏引擎。
尽管目前与演示的具体用例紧密耦合,但Gaia最终目的是成为一个基于世界地图的应用程序的游戏引擎。
屏幕截图
东地中海,左侧是意大利半岛底部,右下角是尼罗河三角洲。
东意大利和巴尔干国家。
如何编译它
Gaia使用公开可用的数据来展示世界。首先,您必须从NASA和NOAA下载原始数据(这些数据大约为一千兆字节),然后允许ImageMagick将这些数据转换为Gaia所需的格式。
有一个脚本会为您完成这些操作。首先,确保您有ImageMagick的convert
可用,然后运行
$ ./scripts/download_world_assets
从本README所在的目录。
警告:此脚本将首先占用您网络带宽的100%,以下载大量文件,然后占用您CPU的100%,以对大图像进行图像处理。您的计算机可能会崩溃。
您还需要提供矢量多边形数据集。此步骤尚未自动化。演示使用自然地球的世界行政区划地图。您需要使用像ogr2ogr
这样的工具将Shapefile转换为GeoJSON。我没有自动化此步骤,因为自然地球数据集不是我最终打算为Gaia使用的。
完成这些后,您可以使用常规的Cargo命令运行:(请确保使用发布模式)
$ cargo run --release --example demo
经过几秒钟的编译和纹理加载后,我们美丽的星球将出现在您面前。
依赖关系
~25–37MB
~486K SLoC