4 个版本 (2 个破坏性更新)
使用旧的 Rust 2015
0.3.0 | 2018年3月5日 |
---|---|
0.2.1 | 2017年12月3日 |
0.2.0 | 2017年12月3日 |
0.1.0 | 2017年9月14日 |
#828 在 图形API 中
每月31次下载
用于 gaia
510KB
373 代码行
gfx_draping
此存储库作用的示例。在正弦波形地形上渲染了一个多边形数组(不是纹理!)。
注意多边形如何随地形起伏,并且可以被路边的隆起/山脉部分遮挡。
另一个示例,展示了南非共和国。注意该国大陆部分(这是南非与莱索托王国(一个独立国家)接壤的地方)的空洞,以及右下角的马里昂群岛。
此库旨在与 GIS 数据易于使用,但您也可以轻松手动构建多边形。
这是一个帮助您在地形上绘制多边形的库。它使用基于深度和模板缓冲区的屏幕空间算法。性能仅受您绘制的多边形复杂度的影响,不受绘制地形的影响。
此库是 Rust 实现了由 Schneider & Klein (2007) 描述的算法,标题为“在虚拟景观上高效且精确地渲染矢量数据”。
第一张截图来自这个简约演示
# You'll want to zoom out to see anything. Do that by holding down CTRL and
# dragging down with your mouse. Then pan around with shift+drag.
cargo run --example demo
第二张截图来自 south_africa
演示,展示了如何将此库与 GIS 数据结合使用
# See instructions above on how to use the camera. Be sure to use --release,
# otherwise you won't get a smooth, 60 fps experience.
cargo run --release --example south_africa
我能使用这个库吗?
您可以,只要以下事项是真的
- 您正在使用
gfx
进行图形。- 目前,仅支持 OpenGL。但这并不是一个深层次的原因;只是相关的着色器还没有编写。如果您想使用另一个后端,PR 将被欢迎。😄
- 您使用世界空间中的 Z 轴作为“向上” — 也就是说,山脉位于正 Z 方向,山谷位于负 Z 方向。
我如何使用这个库?
请参阅 顶层文档 了解如何使用此存储库的高级指导。
待办事项
如果您对以下任何问题感兴趣,请打开一个问题或与我联系,我可以为您提供帮助。或者,如果您勇敢的话,请打开一个 PR!😄
- 添加对非 OpenGL 后端的支持。
- 实现Schneider(2007)中描述的z-pass算法。此算法可能稍微快一些,但只能在多边形的边界框不与视图视锥体近平面相交时使用。目前,仅实现了适用于所有情况的z-fail方法。
依赖项
约8MB
约153K SLoC