跳到正文

Vitrail Shaders

作者:avpbynf

让 OptiFine 格式的光影包在 Minecraft 原生 Vulkan 渲染器上运行

收藏

截图

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

适用于 Minecraft 原生 Vulkan 渲染器的 OptiFine 格式光影包

Minecraft 现在除了 OpenGL 渲染器,也自带了原生 Vulkan 渲染器。现有的光影包都是为 OpenGL 编写的,在 Vulkan 上都无法运行。

Vitrail 却能让它们照常运行,无需修改。它会从 shaderpacks/中读取 OptiFine 格式的光影包,在加载时一次性转换其中的 GLSL,再交给游戏内置的编译器。绘制画面时不会进行任何转换。

这个项目最初源于一个问题:为 OpenGL 编写了十多年的光影包,能否原封不动地运行在如今随游戏附带的渲染器上?它也曾是一个人的业余项目,自七月以来每天都在开发。后来有贡献者加入,但项目仍处于早期阶段:它所依赖的后端被游戏本身标记为实验性。

它的构建方式和如今许多软件一样;若非如此,它也不会存在:AI 工具负责大部分编写和调试工作,而由人来决定开发什么、用真实光影包和 Iris 进行测试,并为每个 Bug 承担责任。项目 NOTICE 中逐文件注明了从 Iris 和 Kroppeb 的 stareval 借鉴的内容,并遵循相同的许可证。如果你在意这些,现在你知道了。如果这个模组对你有帮助,下方有请我喝杯咖啡的链接;我会在 issues 中回复。

Buy Me a Coffee at ko-fi.com

安装前请注意:这是 Beta 版

  • Vulkan 后端仍是实验性的,游戏本身也如此标记:你需要开启的设置名为“Prefer Vulkan (Experimental)”。
  • 你的光影包会影响整个世界:地形、水面、阴影、天空、云层、天气、粒子、生物、方块实体、手持物品、名牌和告示牌。尚未由光影包渲染的部分,会在首次绘制时由引擎在日志中列出;这个列表每次发布都会缩短。
  • 有些光影包在部分场景下仍会显示异常,而画面出错比缺失画面更糟。已实际测试的光影包列表从你看到的现象入手,并指出了原因。
  • 如果你现在就想要完整无误的画面,请在 OpenGL 后端使用 Iris。它很擅长完成这项工作,也是本引擎逐帧对比测试时所依据的参照。

自备光影包

Vitrail 是渲染引擎,不包含光影包:光影包归其作者所有,许可证也不允许再分发。以下是它能够渲染的知名光影包。

已实际测试的光影包列表中的其他光影包也都能渲染,列表还说明了它们与 Iris 的接近程度。列表中没有的光影包,只是我还没加载过,并不代表不受支持。

安装之后

  • 将游戏切换到 Vulkan 并重新启动。视频设置中选择“Prefer Vulkan
    (Experimental)”。渲染后端会在游戏启动时确定,因此下次启动时才会生效。
  • 使用 I选择你的整合包。它会打开光影包界面;R会从磁盘重新读取
    光影包;K则会关闭再重新开启光影。这三个按键都可以在游戏控制设置的
    Vitrail 分类下重新绑定。
  • 如果帧率不够理想,可以调整渲染比例滑块。在
    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。可以同时安装 Iris,但要使用
Iris 要求的 Sodium 版本,Vitrail 也运行在该版本上:使用 Vulkan 时由 Vitrail
进行渲染,使用 OpenGL 时则由 Iris 渲染;在视频设置中切换后端,就会切换
渲染引擎。
安装指南
中还有更多说明。

链接与致谢

如果某个整合包或模组无法与 Vitrail 配合使用,请提交
问题报告。
无论是整合包画面异常、模组冲突还是游戏崩溃,
每份报告都有帮助。如果你也想参与,欢迎提交拉取请求。

源码、当前会传递给光影包的内容、更新日志以及完整的兼容性说明,都可以在
Vitrail-Shaders中查看。你也可以在
Modrinth上找到它。

仅采用 LGPL-3.0。整合包加载器和数值目录的部分内容改编自 Iris;
Iris 同样采用 LGPL-3.0。表达式语法则使用了 Kroppeb 的 stareval。项目的
NOTICE 文件按文件记录了哪些内容被采用,以及后续做了哪些修改。

常见问题

Vitrail Shaders 支持哪些 Minecraft 版本?

Vitrail Shaders 支持 Minecraft Java 版 26.2–26.3,共 2 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。

Vitrail Shaders 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

avpbynf 的其他作品

查看全部 →