
VulkanModNeoForge
《我的世界 NeoForge 的 Vulkan 渲染器。将 OpenGL 渲染器替换为 Vulkan 渲染器。》
VulkanMod NeoForge 是一款客户端 Minecraft 模组,将游戏默认的 OpenGL 渲染管线替换为真正原生的 Vulkan 实现。它是原版 VulkanMod(一款 Fabric/Quilt 模组)对 NeoForge 模组加载器的移植版本,专门支持 Minecraft 1.21。
与 Zink 等封装方案不同,VulkanMod 并非简单地在 Vulkan 上覆盖 OpenGL,而是实时拦截 Minecraft 的 OpenGL 调用并直接翻译为 Vulkan 操作,提供了真正的渲染引擎替换,充分利用现代 GPU 特性并降低 CPU 开销。
该模组的配置界面和游戏内提示信息已完整汉化,方便中文玩家调整设置和理解各项功能。特别感谢 VulkanMod Translations 项目(作者 scully06)提供的汉化资源包。
原版 VulkanMod 是一个实验性项目,为 Minecraft Java 版引入了全新的基于 Vulkan 的体素渲染引擎,旨在替代默认的 OpenGL 3.2 渲染器以提升性能。VulkanMod NeoForge 将此引擎带到了 NeoForge 生态。
主要特性
- 完整的渲染引擎替换 – 实时拦截 OpenGL 调用并转换为 Vulkan 操作
- 真正的原生 Vulkan – 非封装,直接使用 Vulkan API 进行渲染
- 目标平台 – Minecraft 1.21 搭配 NeoForge 21.0.167+
- 当前版本 – 0.5.1-dev+3
- 开源协议 – LGPL-3.0
- GPU 要求 – 支持 Vulkan 1.2 或更高版本
- 中文汉化 – 配置界面和 UI 已完整翻译为中文
技术亮点
- 直接的 GL 类替换 – 在字节码层面直接替换 Minecraft 的 OpenGL 类(如
GL11、GL14、GL15等),将所有渲染调用重定向至 Vulkan 后端,避免性能损耗严重的拦截层。 - Vulkan 实例、设备和交换链生命周期管理
- 通过 Vulkan Memory Allocator (VMA) 进行内存分配
- 通过 ShaderC 实现 GLSL 到 SPIR-V 的实时着色器转换
- 基于区块的地形渲染优化
- 多重区块剔除算法
- 间接绘制模式以减少 CPU 开销
- 原生 Wayland 支持
- GPU 选择器
VKNConfig —— 启动时配置
VKNConfig 是一个在模组完全初始化之前就生效的底层配置系统。它与游戏内的图形设置(保存在 vulkanmod_settings.json 中)不同,VKNConfig 控制的是影响模组加载过程本身以及模组与 NeoForge 交互方式的启动时行为。
配置文件位于 config/vkn-boot-config.json,包含以下三个关键选项:
forceReapplyGLMixins:强制重新应用 GL Mixin。可用于解决模组兼容性问题或进行调试。useVulkanTransformers:启用或禁用 Vulkan 转换器管线。禁用可能会降低性能,但有助于解决某些崩溃问题。hideVulkanLibs:在游戏内的模组列表中隐藏内部的 Vulkan 库模块,保持模组列表整洁。
这些设置在游戏启动时读取。如果配置文件不存在,会自动创建并填入默认值。当 hideVulkanLibs 选项启用时,模组会通过反射将“vulkan‑libs”相关的模组条目从列表中移除,使其不在 UI 中显示。
系统边界
负责管理:
- Vulkan 实例、设备和交换链生命周期
- 通过 VMA 进行内存分配
- GLSL 到 SPIR-V 的着色器转换
- 基于区块的地形渲染优化
- 面向 GUI 和后期处理的 OpenGL 兼容层
不负责管理:
- Minecraft 游戏逻辑、Tick 或实体 AI
- 网络或服务端操作
- 与渲染无关的 NeoForge 模组总线事件
重要注意事项
- 本模组仅限客户端使用。
- 直接调用 OpenGL 的模组可能导致游戏崩溃。
- 着色器支持仍在开发中。
- 这是对渲染引擎的完全重写,而非兼容层。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。