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 中使用
78KB
1.5K SLoC
moongraph 🌙📈
moongraph
是一个用于调度、管理资源并运行有向无环图(DAG)的Rust库。
在 moongraph
中,图节点是普通的Rust函数,图边是函数参数和函数结果。
图通过注册每个函数自动构建。 moongraph
通过函数的参数和结果来确定函数之间的连接。
moongraph
验证并调度节点并行运行,使用 rayon
作为底层并行化技术。这仅在编译时启用了“parallel”功能时发生,默认情况下是启用的。
什么是
moongraph
由两部分组成
为什么
调度和运行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