125 个版本 (16 个重大更新)
新版本 0.18.0 | 2024 年 8 月 16 日 |
---|---|
0.17.0 | 2024 年 7 月 8 日 |
0.15.0-alpha.5 | 2024 年 3 月 29 日 |
0.12.0-alpha.2 | 2023 年 12 月 26 日 |
0.4.0 | 2023 年 3 月 28 日 |
#106 in 图形 API
6,252 每月下载量
用于 23 个 crates (13 个直接使用)
790KB
14K SLoC
Rerun 渲染器
是 rerun
库系列的一部分。
一个定制的基于 wgpu 的渲染器,针对 re_viewer 的需求进行优化。尽管如此,它也可以独立使用,并附带自己的示例!
一些关键特性
- 可视化中的关键原语,如线和点,是一等公民
- 考虑了多个独立的视图/相机
- WebGL 兼容的质量层允许在没有 WebGPU 支持的情况下在浏览器中使用
- 热着色器重新加载
- ……更多即将到来!
目标与哲学
- 处理完全动态的数据
- 假设大多数数据每帧都可能更改!
- 自动资源重用和缓存
- 尽可能实现懒惰加载以获得最佳启动性能
- 在桌面和 Web 上运行都很出色
- 不依赖于
re_viewer
或 Rerun 块存储库
调试
着色器
迭代
在调试模式下,着色器会实时重新加载。如果在实时重新加载过程中发生失败,将记录错误并保留之前的着色器。
检查最终源代码
如果设置了 RERUN_WGSL_SHADER_DUMP_PATH
,所有已缝合(导入解决)和修补的 wgsl 着色器将被写入指定的目录。
通常你也会对 Naga 翻译的着色器感兴趣。这可以通过命令行轻松完成
cargo install naga-cli --all-features
将 wgsl 片段着色器翻译为 WebGL 上使用的 GL 的示例
naga ./wgsl_dump/rectangle_fs.wgsl ./wgsl_dump/rectangle_fs.frag --entry-point fs_main --profile es300
将 wgsl 顶点着色器翻译为 WebGL 上使用的 GL 的示例
naga ./wgsl_dump/rectangle_vs.wgsl ./wgsl_dump/rectangle_vs.vert --entry-point vs_main --profile es300
请注意,单个 wgsl 着色器入口点映射到单个 frag/vert 文件!
将 wgsl 翻译为 MacOS 上使用的 MSL 的示例。请注意,单个 metal 文件映射到单个 wgsl 文件。
naga ./wgsl_dump/rectangle_fs.wgsl ./wgsl_dump/rectangle_fs.metal
依赖项
~19–51MB
~878K SLoC