Vulkan-创建兼容

Vulkan-创建兼容

Create Fly与Vulkanmod之间的兼容性

杂项

VulkanMod / Create Fly 兼容补丁

通过在 VulkanMod 替换 Minecraft 渲染后端时禁用 Flywheel 基于 OpenGL 的 GPU 实例化渲染器,并修补 Create Fly 资源重载代码中一处硬编码的 OpenGL 强制转换(该转换在任何非 OpenGL 后端下都会导致崩溃),修复了 VulkanMod 与 Create Fly 之间的黑屏冲突。

这是一个非官方的第三方兼容补丁。它与 VulkanMod 或 Create Fly 团队没有关联,也未获得其认可。

它实际做了什么

Create Fly 捆绑了自带的 Flywheel 副本,即 Create 的 GPU 实例化渲染引擎,它通过原始 OpenGL 调用与 GPU 通信。VulkanMod 用 Vulkan 替换了 Minecraft 的 OpenGL 后端,但为其他模组保留了一个部分 OpenGL 兼容垫片——足以骗过 Flywheel 的“是否存在真实 OpenGL 上下文”检查并让其返回肯定结果,尽管背后并没有完整实现。这会导致启动时黑屏。

此模组:

  • 在检测到 VulkanMod 时,强制关闭 Flywheel 的 instancing/indirect GPU 后端,使 Create 回退到其已支持的非实例化渲染路径(与 Iris 等光影包启用时使用的同一回退方案)。
  • 跳过一个资源重载步骤(蓝噪声纹理设置),该步骤无论当前使用哪个后端都会无条件强制转换为 OpenGL 专用类,否则在 VulkanMod 下每次资源重载都会崩溃。

你获得什么 / 你牺牲什么

  • 修复: 黑屏问题;Create Fly 可在 VulkanMod 下正常加载和游玩。
  • 代价: 在 VulkanMod 下,Create 的动能方块和机械装置渲染时不会使用 Flywheel 的 GPU 实例化——无论视觉还是性能都更接近在启用光影包的情况下运行 Create,而非原版 Create Fly。这是正确性修复,不是性能优化。

需求

基于上述确切版本构建并测试。Create Fly 正在积极开发且没有版本标签,因此其内部结构可能在不同构建之间发生变化——如果你使用的 Create Fly 构建不同,并且原本的黑屏问题再次出现,请附上你的 latest.log 提交 issue。

安装

将 jar 文件放入你的 mods 文件夹,与 VulkanMod 和 Create Fly 放在一起。无需配置。