7个版本

0.2.6 2024年3月13日
0.2.5 2024年3月12日

#283 in 图形API

每月下载量:26
ffgl-glium中使用

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 265 SLoC Xcode Config 21 SLoC // 0.3% comments

包含(静态库,2.5MB)glew32s.lib,(归档库,1.5MB)FFGLSDK/Common/opengl/lib/GLAUX.LIB,(DOS可执行文件,540KB)FreeFrameDelphiHost.exe,(Windows DLL,715KB)FFGLSDK/Common/opengl/lib/opengl32.dll,(静态库,1MB)1libpng16d.a,(静态库,635KB)libpng16_static.lib 等40余项

Rust中的FFGL

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

Screenshot

支持

  • 目前仅限MacOS
    • 在Windows上运行不需要太多工作,只需测试和创建构建脚本即可。
  • FFGL 2 (resolume)
  • VDMX 5

如有任何问题,请通过[email protected]与我联系!

功能

  • Resolume中的日志记录
  • 在Resolume中构建和运行实用脚本的便捷方法
  • 示例ISF插件
    • 提供输入ISF文件,将其编译成插件并部署到系统插件文件夹
    • 比使用Wire进行基本ISF着色器更快
  • 无效ISF代码的构建时错误
  • GLSL翻译

用法

ISF示例

以下命令将ISF文件编译成插件并部署到系统插件文件夹。这是制作插件所需步骤的一个好例子。

example_isf/deploy_isf.sh<isf_file>

还有一个批量版本的脚本,可以将example_isf文件夹中的所有ISF文件以及系统ISF目录中的某些文件部署。 example_isf/bulk_deploy_isf.sh

命令

部署

一旦插件构建完成,需要将其部署到系统FFGL目录。在macOS上,它需要打包为“Bundle”(一个高级文件夹)。deploy_bundle<output_lib_name>

运行

./resolume.sh./vdmx.sh

更改日志级别

我已经将tracing集成到插件中。要更改日志级别,您可以设置RUST_LOG环境变量。例如,要将日志级别设置为trace,您可以运行

RUST_LOG=trace ./resolume.sh

扩展

ffgl-core

您可以通过使用SimpleFFGLInstance trait或实现FFGLHandler和FFGLInstance trait从零开始创建自己的插件。

您必须调用ffgl_handler!()宏以将您的插件与正确的入口点关联。

ffgl-glium

在ffgl插件内部使用此功能创建glium实例。

ffgl-isf

使用此功能创建isf插件。需要更多工作才能模块化。

未来工作

  • 在Windows上开始工作
  • 将任何链接的图片嵌入到dylib中,并包含ISf源代码
  • 处理多个遍历✔️
  • 标记输入
  • 字符串输入

目标

我想创建一个简单的包装器,用于为resolume等VJ程序制作插件,并为用户提供一个基本的GL上下文,用户可以随意用于娱乐和高级FX/Sources。这可以成为其他连接的不错起点(连接到可以自动暂停和切换COMPs的touchdesigner实例)

依赖项

~5–8.5MB
~146K SLoC