Luracasmus
发布的资源
SMAA抗锯齿着色器 SMAA-MC
SMAA-MC 抗锯齿着色器
SMAA-MC 是一款专为 Iris 渲染引擎设计的轻量化着色器包,其核心功能是实现增强型子像素形态学抗锯齿(Enhanced Subpixel Morphological Antialiasing 1x)。
该着色器通过集成 redmean 颜色差异算法,能够精准地判定图像边缘,从而有效平滑对角线产生的视觉锯齿,并将渲染性能损耗降至最低。与此同时,该方案在进行抗锯齿处理时,极大地保留了 Minecraft 原版的色彩呈现、光影逻辑以及几何结构,力求呈现出最原汁原味的视觉体验。此外,为了确保运行效率,该项目还融合了 Base-460C 中高度优化的原版风格渲染逻辑。
运行环境要求
通常情况下,只要您使用的设备配置相对较新且并非 macOS 系统,硬件性能应能满足要求;不过,请务必检查并更新您的 Iris 插件版本及显卡驱动程序,以确保兼容性。
运行该着色器需满足以下前提条件:
Iris 工具集需包含以下特性支持: COMPUTE_SHADERS CUSTOM_IMAGES ENTITY_TRANSLUCENT 系统环境需支持 GLSL 4.60.8 或更高版本。渲染珍珠 RenderPearl
为现代硬件打造的精简、高性能光影
RenderPearl 是一款极其轻量化的光影包,它充分利用了最新的 Iris 特性以及各类图形驱动下的可选扩展功能。其核心目标在于:在适配现代硬件的前提下,既能提供悦目的视觉效果,又能保持卓越的运行性能。
如果您在使用过程中发现任何问题,或者有好的反馈与建议,欢迎前往 GitHub 的 Issue 追踪页面进行提交。开发者非常依赖玩家的反馈来优化错误修复与设计迭代。
趣味小知识本项目最初是“Luracasmus Shaders(卢拉卡斯姆斯光影)”的延续(这也是为什么您有时会看到它被称为“LS RenderPearl”的原因)。然而,随着版本迭代,现代版的代码与原项目几乎毫无关联。这就引出了一个哲学命题:当一个光影包的所有部分都被替换后,它还是原来的那个光影包吗?
“RenderPearl”这一命名灵感源自基岩版的 RenderDragon(渲染龙)引擎。
功能特性 LabPBR 1.3 合规性与材质数据“是”代表支持单像素(texel)数据。
LabPBR 1.3 必需组件 来自资源包 可配置非标准通道 内置/程序化生成 反照率 (Albedo) 是 否 否 平滑度 (Smoothness) 是(或作为线性/感知粗糙度) 是 是 F0/反射率 (f0/reflectance) 否 - 常数 法线 (Normal) 是 否 是 LabPBR 1.3 可选组件 来自资源包 内置/程序化生成 硬编码金属 (Hardcoded metal) 否 否 多孔性 (Porosity) 否 否 次表面散射 (Subsurface scattering) 否 常数(仅限半透明几何体) 自发光 (Emmissiveness) 否 是 环境光遮蔽 (Ambient occlusion) 二进制,逐方块(来自模型) 是 高度 (Height) 否 否 利用畸变阴影贴图实现平滑、彩色的实时阴影及体积光效果。 结合原版光照与平均纹理颜色,通过光列表(Light List)实现色彩丰富的方块光与物理渲染反射。 手持物品支持射线追踪及逐手光照表现。 内置多种经过高度优化的后期处理特效,包括使用计算着色器实现的 FidelityFX 对比度自适应锐化 (CAS)、源自 SMAA-MC 的 SMAA 1x 抗锯齿、自动曝光以及多种色调映射算法。 支持自定义水体波动及透明度。 集成光照等级可视化、指南针覆盖等实用辅助功能。 模组与资源包兼容性大部分原生 PBR 信息(如光照颜色、材质法线与粗糙度)均为程序化全自动生成,因此能与绝大多数资源包和模组完美兼容。
在最新的 Minecraft 版本中,该光影已支持与远景模组 (Distant Horizons) 以及 Voxy 模组集成,但目前仍处于实验性阶段且功能较为基础。完整的支持计划将在未来的更新中推送。
对于修改了 Iris 光影流水线的模组(例如 Chunks Fade In),可能会出现实验性支持的问题,例如导致光影无法成功编译。
系统需求提示:只要您使用的是近几年的非 macOS 设备,通常都能满足需求。如果您遇到问题,请尝试更新 Iris 模组和显卡驱动。
Iris 模组,且必须支持以下特性:BLOCK_EMISSION_ATTRIBUTE
COMPUTE_SHADERS
CUSTOM_IMAGES
ENTITY_TRANSLUCENT
SEPARATE_HARDWARE_SAMPLERS
SSBO
图形驱动:必须支持 GLSL 4.60.8+。
Minecraft 版本:必须与您所下载的 RenderPearl 版本所标注的兼容版本一致。通常最新的支持版本表现最为稳定。
驱动支持情况
操作系统
驱动
支持程度
Linux
Mesa RadeonSI
完美
Linux
Nvidia
极佳
Linux
Mesa Zink/RADV
良好
Linux
Mesa Zink/Nvidia
不稳定
Windows
AMD Adrenalin
良好
Windows
Nvidia Game Ready
极佳
以上仅针对最新的稳定版驱动进行测试。未测试其他驱动,如有异常请及时反馈。
调整与兼容性菜单默认配置及预设档中的所有数值,均旨在适配所有符合“系统需求”的设备。当然,您也可以通过更改选项来发掘更高的性能或画质上限。请注意,某些选项可能导致光影编译失败(通常标记有 ⚠ 警告符号),此时只需重置该选项即可。
实现受限类选项这些选项的可用范围和表现效果取决于您的显卡驱动。
光列表容量 (Light List Capacity):取决于 GPU 工作组的局部数据共享 (LDS) 内存大小。如果光列表填补不充分(通常表现为光线闪烁),盲目调高此值会影响性能。 16/8-Bit 类型:使用 GLSL 扩展提供的数据类型来降低寄存器、LDS 和显存占用,从而提升性能。 三元最值 (Trinary Min/Max):利用AMD_shader_trinary_minmax 扩展,通过单函数调用执行三元最值操作,建议尽可能开启。
32×16位乘法:利用 INTEL_shader_integer_functions 扩展优化乘法指令,建议尽可能开启。
不可变常量 (Immutable Constants):将可变着色器变量标记为常量以启用优化,这是 GLSL 规范的一部分,但部分驱动支持不佳。
关于 RenderPearl 的设计与二次开发
RenderPearl 的源代码旨在方便模组爱好者修改与重用。代码编写遵循行业最佳实践,但在可读性与性能之间,开发者优先选择了后者。如果您对技术细节有疑问,欢迎通过各个平台联系我。
更多技术信息请查阅 GitHub 仓库。