1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年6月6日 |
---|
#31 在 #graphical
14KB
153 行
gantz
一个用于在运行时创建和评估可执行有向图的crate。换句话说,gantz 允许用户在动态中组合由相互连接的节点描述的程序。
Gantz 是受到对更灵活、高性能、开源替代图形编程环境(如Max/MSP、Touch Designer、Houdini 等)的渴望而启发的。 命名灵感来自 gantz graf。
目标
- 使用
derive
从Rust代码中创建自定义节点的一种简单方式。 - 解决自定义节点中泛型和特例对象的处理。
- 通过 serde 实现
Serialize
和Deserialize
。 - 通过图进行 推 评估。
- 通过图进行 拉 评估。
- 提供一套常用的“std”节点,无需额外安装。
- 原始类型和转换。
- 映射到
std::ops
:Add
、Sub
、Mul
、Div
等。 - 带有
std::fmt
节点:Debug
、PrettyDebug
、Display
。 -
Vec
构造函数和方法。 -
String
构造函数和方法。 - 转换函数:
Into
、From
、FromStr
、FromIterator
等。 - 一个允许将类型解构为其字段的
DeStructure
节点。 - 带有推和拉变体的定时器/时钟节点。用于测试速率很有用。
在实现这些目标之后,gantz 将集成到 nannou,在那里它将被扩展到高级工具,包括
- 一个用于在运行时创建、编辑和保存图和自定义节点的GUI。
- 节点打包和共享工具。
- 一套提供对 nannou 的跨平台支持的各种协议和 I/O 的接口节点。
- 窗口和输入事件。
- 分频器和信号。
- 音频输入、输出、处理和设备管理。
- 2D/3D 几何、图形和着色器。
- 视频输入和处理。
- 网络(UDP 和 TCP)。
- OSC。
- 照明、激光和控制:DMX(通过 sACN)、CITP(和 CAEX)、Ether-Dream。
- GPU 通用计算。
- 通用文件读写。
许可证
根据您的选择
- Apache 许可证 2.0 版本(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的任何有意提交的旨在包含在作品中的贡献,将根据上述方式双重许可,不附加任何额外的条款或条件。
依赖项
约 3MB
约 62K SLoC