1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年11月12日 |
---|
#367 in 渲染
在terra中使用
9KB
227 行
Terra
Terra是一个正在开发的大型地形渲染库,它基于wgpu构建。
概述
Terra支持渲染整个地球,细节从数千公里到厘米不等。在Terra中,地形被视为一个高度图,以及一组存储表面法线、漫反射等信息的纹理图。
所有这些信息需要相当大的空间,因此它们不包括在这个仓库中。相反,必要的文件在运行时从互联网上流式传输,并缓存在当前用户的缓存目录中(例如,在Linux上默认为~/.cache/terra
)。
细节级别(LOD)
为了确保帧率平滑且避免明显的"LOD popping",Terra在内部使用连续距离相关细节级别算法的球面映射版本。
增量生成
Terra通过流式传输包含地形属性的粗粒度瓦片并使用wgpu计算着色器添加分形细节来工作。
入门指南
安装Rust然后安装其他所需依赖项
$ sudo apt-get install libegl-dev libudev-dev build-essential libssl-dev cmake
运行应该像这样简单
git clone [email protected]:fintelia/terra && cd terra
cargo run --release
第一次运行Terra时,可能需要一两分钟来流式传输必要的文件。如果在过程中需要终止进程,不要担心,在后续运行中,它将从上次停止的地方继续。
完成该步骤后,您应该会看到Terra的主窗口。您可以使用箭头键进行导航,并通过空格键和Z键分别增加和减少高度。如果检测到游戏手柄,也支持游戏手柄控制。要退出,请按Esc键。
您还可以传递 --help
来查看一些其他命令行选项。
系统要求
- Windows 或 Linux 操作系统(Terra可能在MacOS上运行,但尚未进行测试)
- 快速互联网连接
- 具有 2+ GB VRAM 的 GPU
数据来源/致谢
在运行过程中,此库从各种来源下载和合并数据集。如果您将其集成到自己的项目中,请确保根据适用情况对所有以下内容给予适当的致谢。
种类 | 来源 |
---|---|
海拔 | ETOPO1 全球地形模型 |
海拔 | NASA 数字高程模型 |
正射影像 | 蓝宝石下一代 |
星星 | 耶鲁明星目录 |
树冠覆盖 | 全球森林变化 |
树木 | SpeedTree |
地面纹理 | FreePBR |
依赖项
~3–12MB
~114K SLoC