#plugin #glium #框架 #工具 #ffgl #resolume #vdmx

ffgl-glium

FFGL插件工具,用于使用glium

3个版本

0.1.2 2024年3月13日
0.1.1 2024年3月12日
0.1.0 2024年3月12日

#490图形API

Download history 288/week @ 2024-03-10 14/week @ 2024-03-17 1/week @ 2024-03-24 70/week @ 2024-03-31 3/week @ 2024-04-07

每月75次下载

GPL-3.0-or-later

14MB
35K SLoC

Pascal 15K SLoC // 0.1% comments C++ 11K SLoC // 0.1% comments Visual Studio Project 7.5K SLoC Rust 1K SLoC // 0.0% comments Visual Studio Solution 264 SLoC Xcode Config 20 SLoC // 0.3% comments

FFGL in Rust

FFGL (Resolume & VDMX插件) rust框架。

Screenshot

支持

  • ! 目前仅支持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