LumenLite 是一个为 Minecraft Java 1.16.5 和 OptiFine HD U G8 打造的全新原创光影包。它的设计目标很明确:适合长时间游玩 —— 自然耐看的色彩、清晰可读的洞穴与夜晚、按维度区分的氛围、柔和的方向性动态阴影,以及不依赖大型多 Pass 后期链就能明显改善的水面。
均衡(Balanced)档是官方推荐的默认配置:一块 1024² 阴影贴图、在符合条件的户外不透明像素上进行 5 次 OptiFine 标准比较采样、一个 RGBA8 法线/光照元数据缓冲,以及一个最终全屏 Pass。它还让已映射的原版植被在原有地形绘制中拥有了材质感知的着色响应 —— 这一处理不增加任何纹理读取,也不增加任何帧缓冲。
整个包没有 bloom、TAA、SSAO、SSR、体积云 Pass、噪点纹理、历史缓冲或半分辨率效果链。
- 实时动态阴影:太阳/月亮阴影图,仅主世界启用,带距离淡出与软边(1/5/9 次 PCF 可选)。
- 逐像素光照:八面体编码法线 + 天光/方块光分离,取代原版逐顶点光照,立体感与洞穴可读性显著提升。
- 自然水面:程序化波浪法线、Fresnel 天空反射、太阳高光、水下指数吸收。
- 解析式天空:纯数学计算的太阳圆盘与光晕,零纹理、零 bloom。
- 维度专属氛围:主世界温带、地狱红棕指数雾、末地紫罗兰长距雾,连天空配色都按维度定制。
- 植被材质感知:已映射的草/树叶在既有地形绘制内获得天光响应,顶点级摆动,零额外开销。
- 三档编译期配置:节能 / 均衡 / 高画质,通过
shaders.properties的 profile 切换宏,运行时零分支开销。 - 中英双语界面:内置选项面板全部中文化,选项全部真实生效。
- Minecraft Java 1.16.5(官方客户端)
- OptiFine HD U G8(或兼容该版本的更高构建)
- OpenGL / GLSL 1.20 兼容性 Profile(刻意不依赖现代语法,兼容面广)
- 安装并启动 Minecraft Java 1.16.5(需带 OptiFine HD U G8)。
- 将
LumenLite-1.1.0-MC1.16.5.zip直接放入 Minecraft 的shaderpacks目录。不要解压,也不要再套一层文件夹。 - 打开 选项 → 视频设置 → 光影,选中该 ZIP,等待编译完成。
- 打开 光影设置(Shader Options),选择 均衡(推荐) 档。
压缩包特意以 shaders/ 作为根目录结构,OptiFine 可以直接发现。
接入 OptiFine 自带的光影设置面板(选中光影后点击右下角 "Shader Options"),中英双语随游戏语言自动切换。
预设档位
| 档位 | 阴影 Pass | 阴影贴图 / 采样 | 水面 | 植被 | 适用场景 |
|---|---|---|---|---|---|
| 节能 (Eco) | 移除 | 无 | 染色原版 | 关闭 | 核显 / 高分屏 / 极限稳定帧率 |
| 均衡 (Balanced) | 开启 | 1024² / 5 次 | 两组程序波 | 自然响应 | 日常推荐 |
| 高画质 (Quality) | 开启 | 2048² / 9 次 | 四组程序波 | 增强响应 | 截图 / 显卡富余时 |
选项分组
| 分组 | 选项 | 说明 |
|---|---|---|
| 阴影 | 动态阴影 | 关闭会整体移除阴影 Pass,不是装饰开关 |
| 阴影 | 阴影滤波 | 0/1/2 = 1/5/9 次 PCF 采样 |
| 阴影 | 阴影分辨率 | 512 / 1024 / 2048 |
| 阴影 | 阴影距离 | 64 / 96 / 128 格(滑块) |
| 水体 | 水面细节 | 染色原版 / 自然 / 精细(2 组 / 4 组程序波) |
| 氛围 | 大气雾 | 按维度自适应距离雾开关 |
| 氛围 | 色彩处理 | 中性 / 自然 / 鲜明 |
| 氛围 | 植被质感 | 关闭 / 自然 / 增强 |
| 动态 | 植被动态 | 顶点级摆动开关 |
| 动态 | 动态强度 | 摆动幅度滑块 |
所有选项都是编译期宏,改动后直接改变 GLSL 编译结果,没有摆设选项。
- 渲染品质 (Render Quality):
1x - 阴影品质 (Shadow Quality):
1x - 手持深度 (Hand Depth):
1x - 旧版光照 (Old Lighting):
默认或关闭(本包请求关闭) - 旧版手持光照 (Old Hand Light):
默认或关闭 - 云 (Clouds):
精致或默认 - 渲染距离:均衡档建议 8–16 区块,主要受 CPU / 世界复杂度影响
- 法线贴图 / 高光贴图:非必需;本包下关闭可省性能
- 主世界:更强但克制的开阔阴影分离、日光与月光、解析式日出日落光晕、雨天去饱和、柔和方向阴影、远距雾霾、克制的植被着色。
- 洞穴 / 夜晚:小幅可读性提升但保留黑暗氛围,加上微妙的暖色局部光平衡。
- 雨天 / 雪天:直射光与阴影减弱、云层更冷、远处雾更浓,平滑使用 OptiFine 天气变量。
- 水 / 海洋:Fresnel 天空着色、程序化动态法线、克制的高光闪烁、指数水下吸收。
- 地狱:专属红棕色氛围 + 指数距离雾;不浪费天空阴影 Pass。
- 末地:专属克制的紫罗兰氛围 + 长距雾;不浪费天空阴影 Pass。
- 透明方块:水/玻璃元数据在关闭混合的情况下写入,场景颜色保留普通 alpha 混合,避免陈旧的透明材质数据残留。
- 主要目标:Minecraft Java 1.16.5 + OptiFine HD U G8,OpenGL/GLSL 1.20 兼容性 Profile。
- 刻意保持在 2 个颜色附件以内,不使用计算着色器、image load/store、纹理数组、自定义二进制纹理或现代语法。
- Iris 一般能实现 OptiFine 光影包格式,但较旧的 Minecraft/Iris 组合不是发布目标,也未在此验证。
- Mod 方块走程序回退路径;只有原版 1.16.5 植被与水方块的 ID 获得材质专属动画(见
shaders/block.properties)。
- docs/ARCHITECTURE.md —— 渲染管线与成本模型详解
- docs/TESTING.md —— 验证边界与测试结果
- docs/AUDIT.md —— 交付审计与回归清单
- docs/validation-results.json —— 机器可读的自动化校验结果
- tools/validate_pack.py —— 打包校验脚本
- 不实现 PBR 材质包、彩色半透明阴影、屏幕空间反射、体积云、时间抗锯齿或 bloom。植被响应是着色器侧的材质感知,不是 PBR 纹理数据的替代。这些是刻意的范围/成本决策,不是未实现的占位。
- 只有
shaders/block.properties中列出的原版方块 ID 会获得水面或植被材质行为;未映射的 Mod 材质走通用兼容路径。 - 阴影柔化是固定半径 PCF,而非接触硬化 PCSS,以避免遮挡物搜索带来的不稳定采样成本。
- 最终画质仍取决于 GPU 驱动正确性、资源包、OptiFine 设置与 Mod。在把你的平台视为"已验证"之前,请先阅读测试文档。
本项目的全部着色器源码与文档均为原创,基于 Apache License 2.0 发布。包内不包含任何第三方代码、纹理、LUT、噪点图片或其他素材。
- 完整许可证文本见 LICENSE。
- 第三方参考来源与致谢见 THIRD_PARTY_NOTICES.md。