3个版本
0.1.2 | 2024年3月13日 |
---|---|
0.1.1 | 2024年3月12日 |
0.1.0 | 2024年3月12日 |
#490 在 图形API
每月75次下载
14MB
35K SLoC
FFGL in Rust
FFGL (Resolume & VDMX插件) rust框架。
支持
- ! 目前仅支持Macos
- 在Windows上运行不需要太多,只需要有人进行测试并创建构建脚本
- FFGL 2 (resolume)
- VDMX 5
如果您有任何问题,请通过[email protected]与我联系!
功能
- Resolume内的日志记录
- 方便的脚本,用于在Resolume内构建和运行
- 示例ISF插件
- 提供一个输入ISF文件,输出一个FFGL插件
- 比使用Wire进行基本的ISF着色器更快
- 无效ISF代码的构建时错误
- GLSL翻译
用法
ISF示例
以下命令将接收一个ISF文件,将其编译为插件并部署到系统插件文件夹。这是一个制作插件所需步骤的好例子。
example_isf/deploy_isf.sh<isf_file>
还有一个脚本的批量版本,可以将example_isf文件夹中的所有ISF文件和一些来自系统ISF目录的ISF文件部署出去。 example_isf/bulk_deploy_isf.sh
命令
部署
一旦构建了插件,就需要将其部署到系统FFGL目录。在macos上,需要将其打包为'Bundle'(一个花哨的文件夹)。 deploy_bundle.sh <output_lib_name>
运行
./resolume.sh
或 ./vdmx.sh
更改日志级别
我已经将tracing集成到插件中。要更改日志级别,可以设置RUST_LOG
环境变量。例如,要将日志级别设置为trace,可以运行
RUST_LOG=trace ./resolume.sh
扩展
ffgl-core
您可以通过使用SimpleFFGLInstance trait或实现FFGLHandler和FFGLInstance traits来从头开始创建自己的插件。
您必须调用ffgl_handler!()宏以将您的插件与正确的入口点关联。
ffgl-glium
在ffgl插件内使用此功能创建glium实例
ffgl-isf
使用此工具创建ISF插件。需要更多工作以实现模块化。
未来工作
- 在Windows上开始工作
- 将任何链接的图片嵌入dylib中,同时包含ISf源
- 处理多遍 ✔️
- 标记输入
- 字符串输入
目标
我想创建一个简单的包装器,以便为resolume等VJ程序创建插件,并给用户提供一个基本的GL上下文,可以随意用于娱乐和高级FX/Sources。这可以成为其他连接的一个好起点(连接到可以自动暂停和切换COMPs的touchdesigner实例)
依赖关系
~12–30MB
~411K SLoC