125 个版本 (16 个重大更新)

新版本 0.18.0 2024 年 8 月 16 日
0.17.0 2024 年 7 月 8 日
0.15.0-alpha.52024 年 3 月 29 日
0.12.0-alpha.22023 年 12 月 26 日
0.4.0 2023 年 3 月 28 日

#106 in 图形 API

Download history 701/week @ 2024-04-26 575/week @ 2024-05-03 1310/week @ 2024-05-10 1347/week @ 2024-05-17 1392/week @ 2024-05-24 1375/week @ 2024-05-31 1315/week @ 2024-06-07 972/week @ 2024-06-14 1060/week @ 2024-06-21 1061/week @ 2024-06-28 1422/week @ 2024-07-05 919/week @ 2024-07-12 1295/week @ 2024-07-19 1243/week @ 2024-07-26 1098/week @ 2024-08-02 2487/week @ 2024-08-09

6,252 每月下载量
用于 23 个 crates (13 个直接使用)

MIT/Apache

790KB
14K SLoC

Rust 13K SLoC // 0.1% comments WebGPU Shader Language 1.5K SLoC // 0.2% comments

Rerun 渲染器

rerun 库系列的一部分。

Latest version Documentation MIT Apache

一个定制的基于 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