
彩色玻璃光影
OptiFine格式的光影包,在Minecraft的原生Vulkan渲染器上
查看大图OptiFine 格式的光影包,运行在 Minecraft 原生 Vulkan 渲染器上
Minecraft 26.2 在 OpenGL 渲染器之外还自带了一个原生 Vulkan 渲染器。现存的所有光影包都是为 OpenGL 编写的,没有一个能直接运行在它上面。
Vitrail 仍然能不改动地运行它们。 它从 shaderpacks/ 中读取 OptiFine 格式的光影包,在光影包加载时一次性翻译其 GLSL,然后交给游戏已经内置的编译器。绘制帧的过程中不会有任何翻译操作。
这一切始于一个问题:那些十多年来为 OpenGL 编写的光影包,能否不加改动地运行在如今随游戏一起发布的渲染器上。这是一个人的业余项目,自 7 月以来每天都在推进,而且仍处于早期阶段:它所依赖的后端被游戏本身标记为实验性。
它的构建方式与如今许多软件的构建方式相同:AI 工具承担了相当一部分的编写和调试工作,由人类来做决策、用真实光影包和 Iris 进行测试、审查每一行代码,并为每一个 bug 承担责任。从 Iris 和 Kroppeb 的 stareval 中借鉴的部分,已按文件逐一记录在项目的 NOTICE 中,并遵循相同的许可证。如果这些对你有意义,现在你知道了。如果这个模组对你有用,下方有一个请喝咖啡的链接,而 issues 是我回复问题的地方。
安装之前:这是测试版
- Vulkan 后端是实验性的,游戏本身也这样标注:你需要打开的设置项写着“Prefer Vulkan (Experimental)”。
- 世界万物都经过你的光影包:地形、水、阴影、天空、云、天气、粒子、怪物、方块实体、手持物品、名牌和告示牌。仍然由游戏渲染的部分,引擎会在某个地方首次绘制时在日志中记下其名称,而这份清单会随着每个版本的发布而缩短。
- 有些光影包在某些地方仍会出现错误,而错误的画面比缺失的画面更糟。实际测试过的光影包表从你看到的画面出发,并指明原因。
- 如果你今天想要的是完美的画面,请在 OpenGL 后端上使用 Iris。 它在这方面做得很好,也是本引擎逐帧对照的参考标准。
自带光影包
Vitrail 是引擎,不是光影包,它无法自带任何光影包:光影包属于它们的作者,其许可证不允许再分发。以下是我日常测试所用的光影包。
Sildur's Vibrant 除了水之外都能绘制。Reverie 现在可以加载并绘制,缺陷仍在处理中。未出现在此列表中的光影包是我尚未加载过的,而不是不受支持的。
安装之后
- 将游戏切换到 Vulkan 并重启。 视频设置,“Prefer Vulkan (Experimental)”。后端在游戏启动时选定,因此会在下次启动时生效。
- 如果帧率不足,有一个滑块可以调节。 视频设置,在 Vitrail 自己的页面上,“Render Scale”:世界以窗口尺寸的 25% 到 100% 绘制,并在界面渲染前恢复到完整尺寸,因此无论缩放比例如何,菜单、聊天和 F3 屏幕都保持清晰。
- Distant Horizons 是兼容的,你的光影包自带的 DH 程序会绘制其远处地形。在 Fabric 上,像安装其他模组一样安装它。在 NeoForge 上,其当前版本在 Vulkan 渲染器上仍会崩溃(是它自己的纹理解包器的问题,不是本模组),请改为手动安装 此构建。
- 不需要 Chloride,如果你运行它,它的五个设置会决定什么内容能到达你的光影包:性能页面上的 Fast Chests 和 Fast Beds,实体页面上的 Max Entity Distance、Max Monster Distance 和 Max Block Entity Distance。Vitrail 会在启动时的日志中列出它发现的任何相关设置。
仅客户端,Fabric 和 NeoForge 共用一个 jar,不要同时运行另一个光影引擎。 安装指南 包含其余内容。
链接与致谢
源代码、当前经过光影包的内容、更新日志和完整的兼容性说明都在 Vitrail-Shaders。它也在 CurseForge 上。
LGPL-3.0-only。光影包加载器和值目录的部分内容改编自 Iris,其同样采用 LGPL-3.0,表达式语法来自 Kroppeb 的 stareval。借鉴了什么以及过程中改动了什么,已按文件逐一记录在项目的 NOTICE 中。
正在加载版本记录…









正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。