3个不稳定版本

使用旧的Rust 2015

0.2.1 2018年3月28日
0.2.0 2018年3月15日
0.1.0 2018年3月12日

#64 in 渲染引擎

MIT许可证

1MB
1.5K SLoC

YouTube Demo Video

点击上面的图片查看视频演示和该项目的高级概述。

Gaia,Rust中的星球可视化器

来自NASA蓝宝石的卫星影像

来自NOAA GLOBE的高程数据

来自自然地球的政治边界数据。

这是一个让您查看世界的程序。您可以上下滚动并移动相机。它完全用Rust编写,使用了Piston游戏引擎。

尽管目前与演示的具体用例紧密耦合,但Gaia最终目的是成为一个基于世界地图的应用程序的游戏引擎。

屏幕截图

Screenshot 1

东地中海,左侧是意大利半岛底部,右下角是尼罗河三角洲。

Screenshot 2

东意大利和巴尔干国家。

如何编译它

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