作者注:
"大部分代码是借助 Claude 编写的。而整体设计、针对真实光影包的测试、对该渲染器与 OpenGL 存在差异之处的决策,以及许可证相关事项,则由我负责。"
模组名称: Vitrail Shaders
游戏版本: Minecraft Java版 26.2-Fabric
渲染API: Vulkan
启动器: PCL2
配置:
ASUS ROG STRIX G16 G614FR
CPU: AMD Ryzen 9 9955HX3D 16-Core Processor
GPU: NVIDIA GeForce RTX 5070 Ti Laptop GPU
RAM: 16G DDR5 5600Mhz
模组下载:
Vitrail CurseForge:
https://www.curseforge.com/minecraft/mc-mods/vitrail-shaders
Vitrail Github开源地址:
https://github.com/avpbynf/Vitrail-Shaders
过去十年间,Minecraft Java版社区的光影生态仍然是建立在 OpenGL 上的,还没有完整迁移到 Vulkan。
Vitrail 的作用,就是在这个过渡阶段让 OpenGL 光影生态和游戏Vulkan 后端保持兼容。
Vitrail 可以直接加载现有的 OptiFine 格式的光影着色器,而且不需要对光影本身做任何修改,
流程:
Shader Pack->OpenGL GLSL->Vitrail 转换->Vulkan GLSL->SPIR-V->Vulkan GPU
光影包的本质是按照 OpenGL 规范编写的 GLSL 着色器代码,而任何 Vulkan 驱动都无法直接接受这种代码。
Vitrail 会在真正开始渲染之前,仅进行一次转换,将光影包中的每个程序重写为 Vulkan GLSL,然后把转换后的代码交给 Minecraft 游戏本身已经内置的编译器。该编译器会像处理 Minecraft 自己的着色器一样,将其进一步编译成 SPIR-V(Standard Portable Intermediate Representation)。
经过作者avpbynf的测试,很多知名的高下载量光影,比如
BSL,Complementary Unbound或者Reimagined, Bliss, Sildur's Vibrant
都已经能在Vitrail上初步的运行起来,而且,Vitrail甚至支持了Distant Horizons,遥远的地平线模组