它是什么
wgpu-mc 始于 2021 年末,是一个用 Rust 编写、基于
wgpu crate 的独立 WebGPU 渲染引擎,目标是给 Minecraft 换掉现有的 OpenGL 渲染器。
Neolectrum 就是把这个引擎接进 NeoForge 的那一层。
上游原项目距离既定目标仍有距离,因此本项目对 Rust 侧做了重构与改造, 不再是单纯跟随上游迁移的子项目;同时出于可维护性与作者精力的考虑, 已移除 Fabric 模组部分,只保留 NeoForge。
作者最初想在实验性项目里引入光追/路径追踪,以及 DirectX 下的 DLSS、DLSSD、DLSSR。 但受 WebGPU 能力所限,这些只能靠 hook C++ 库之类相当「脏」的手段实现, 所以本项目不再考虑这些方向,转而专注提升这个跨 API 图形项目的实用性与稳定性。
核心特性
替换 Blaze3D,而不是打补丁
从设备、缓冲区、纹理、命令编码器到已编译管线,Blaze3D 的每一环都有对应的 wgpu 实现。渲染后端因此可以在 Vulkan 与 DirectX 12 之间切换。
GLSL → WGSL 完整转译
不是重写着色器,而是把 Minecraft 原有的 GLSL 经 cyntax 转译成 WGSL,再交给基于 WebGPU 的渲染管线执行。
跨 API 的图形栈
目标是把玩家从 OpenGL 的束缚里解放出来 —— DirectX 12、Vulkan、Metal,乃至更多后端,同一套引擎。
模组内的渲染设置面板
由 Rust 侧定义、经 JNI 读取 JSON,Kotlin 动态生成选项界面。加一个渲染开关不需要手写 GUI 代码。
架构
从 JVM 到 GPU,一次绘制会穿过这五层:
已落地的着色器
开发状态
当前处于 alpha 阶段,尚不可用于日常游戏。CI 在 Ubuntu 与 Windows 双平台、 Java 25 上执行构建。
参与贡献
项目仍在早期,欢迎任何形式的贡献 —— 无论是引擎、着色器、还是 NeoForge 侧的适配。 上游引擎的贡献入口在 wgpu-mc/wgpu-mc/labels/engine。