15个不稳定版本 (3个破坏性更新)

0.4.2 2024年3月31日
0.4.1 2024年3月31日
0.3.8 2023年12月17日
0.3.6 2023年11月28日
0.1.0 2023年4月30日

#36 in 渲染


2 crates 中使用

MIT/Apache

78KB
1.5K SLoC

moongraph 🌙📈

moongraph 是一个用于调度、管理资源并运行有向无环图(DAG)的Rust库。

moongraph 中,图节点是普通的Rust函数,图边是函数参数和函数结果。

图通过注册每个函数自动构建。 moongraph 通过函数的参数和结果来确定函数之间的连接。

moongraph 验证并调度节点并行运行,使用 rayon 作为底层并行化技术。这仅在编译时启用了“parallel”功能时发生,默认情况下是启用的。

什么是

moongraph 由两部分组成

  • 调度器 - 由 dagga 提供
  • 资源管理器 - 由 broomdog 提供

为什么

调度和运行DAG是一个常见问题,我没有找到任何先前的资料。

如何

阅读简介教程

用途

moongraph 已在其他一些库中使用(如果你在使用它,请告诉我,以及你是如何使用的 :))

  • 作为 renderling 中的渲染图,这是一个具有高级光照的实用实时渲染器
  • 其调度器用于 apecs 中的调度系统,这是一个性能良好的ECS,具有异步集成。

💚 赞助这个项目!

这项工作将始终是免费和开源的。如果你使用它(直接或作为灵感来源),请考虑捐赠。

💰 赞助 💝

许可证

Renderling是免费和开源的。此存储库中的所有代码均根据以下任一许可证进行双许可:

MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)

根据你的选择。这意味着你可以选择你喜欢的许可证!这种双许可方法在Rust生态系统中是事实上的标准,并且包含两个许可证有很好的理由。

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,均应双许可如上所述,不附加任何其他条款或条件。

依赖项

~1.4–2.4MB
~55K SLoC