
Iris Veil Compat
通过Iris着色器包桥接Veil着色器渲染,使得使用Veil着色器基础设施的模组 (如Create Aeronautics)在着色器包激活时能正确渲染
Iris Veil Compat
允许使用 Veil 渲染引擎的模组(如 机械动力:航空学)在使用 Iris 光影包时正确渲染。
原理
Veil 是一个用于 Minecraft 模组的高级渲染 SDK——它提供了其他模组可以构建的着色器基础设施。最著名的使用方是 机械动力:航空学,它使用 Veil 来渲染飞机机翼、玻璃面板、飞机尾迹和其他视觉效果。
问题在于:当你通过 Iris 启用光影包时,Veil 渲染的视觉效果完全绕过了光影包的渲染管线,导致它们出现破损或缺失的情况。
此模组会在运行时自动将 Veil 着色器代码合并到光影包的 gbuffer 程序中,因此基于 Veil 的视觉效果(如航空学的飞机)可以无缝集成到你的光影包中。
实现细节
该模组通过 mixin 拦截 Veil 的着色器编译过程,捕获并缓存处理后的着色器源代码。在渲染时,它使用 AST 级别的修补(由 glsl-transformer 提供支持)将 Veil 着色器逻辑注入到光影包的 gbuffer 顶点/片元程序中,并创建一个 Iris ShaderInstance 来替换原始的 Veil 着色器。
当你切换或重新加载光影包时,缓存会自动失效——无需重启游戏。
兼容性
- Iris 1.8.1 及以上(必需)
- Sodium
- Veil 4.0.0 及以上
- 已测试 机械动力:航空学(Spring、Laser)和 Sable
致谢
本项目使用 glsl-transformer 进行着色器 AST 操作。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。