MGFX
MGFX 是面向 Garry's Mod immediate UI effects 的 Lux 渲染 package。它通过独立的
lux-mgfx package set 分发,并在独立文档站中维护完整说明:
当前页面只是 Lux 主站里的入口。API 细节、Shader 说明、性能模型和 Lux 版架构说明都 以独立 MGFX 文档为准。
按项目安装:
给 Plain GLua 使用
MGFX 不要求现有项目已经使用 Lux 源码。对于已有 VGUI panel、gamemode UI 或渐进迁移,
可以直接使用带生成 loader 的分发版本,然后在普通 GLua 里调用安装后的 MGFX.*
facade:
这个分发版本仍然来自 Lux MGFX package。区别只是 loader 已经生成好,会初始化客户端
运行时,并为非 Lux 调用方安装全局 MGFX。
在 Lux 中使用
新的 Lux 代码应优先使用明确的模块导入,例如 mgfx.paint、mgfx.style、
mgfx.frame 和 mgfx.widgets。MGFX.* 全局 facade 主要用于需要面向 GLua 的代码、
旧 panel、console demo 或渐进迁移。
Lux 负责什么
@lux/mgfx 是 client-only package。项目导入它后,luxc gmod build 会编译实际依赖
到的 module part、保持导出为客户端运行域、生成 Lua,并生成 GMod loader。Lux 项目
安装后会从 lux.lock 读取对应 package root;它不随 luxc 捆绑。Lux 项目不应该再
复制旧 MGFX Lua autorun loader。
MGFX 也是 Lux package 设计的实际例子:一个 package 拆成 frame、paint、style、
text、widgets、materials、shaderpack 等子模块;module part 共享内部作用域,
对外只暴露明确的 public API。
授权
MGFX 使用单独的非商业授权。非商业使用允许;商业使用需要获得版权持有者的单独书面 授权。当前授权文件和部署说明以独立 MGFX 文档仓库为准。