光影渲染异常的排查思路
症状分类
光影渲染异常大致分几类:
- 效果缺失:应该有的水面反射、PBR、软阴影没显示
- 图形 glitch:方块闪烁、纹理错乱、画面撕裂、手部渲染错误
- 编译报错:日志里有 GLSL 编译失败记录
- 只有某个特定光影有问题:其他光影正常
第一步:查兼容列表
先确认你用的光影包是否在官方兼容列表里。不在列表里的光影没有被官方测试过,兼容性不保证。
如果在列表里但效果还是缺失,看列表里的备注列:
- 有些光影需要 ANGLE(Sundial、SEUS PTGI HRR 3)
- Derivative Main 需要 ARB_compute_shader + 忽略 shader/program 报错
- Photon Shader 的 Bloom 在非 Adreno GPU 上有严重问题
第二步:开启忽略 shader/program 报错
在插件 Settings 标签页启用「忽略 shader/program 报错」选项。这个开关会让渲染器跳过着色器编译错误继续渲染。很多光影的效果缺失就是因为某个着色器编译失败后被跳过了,但整个光影包不会因此完全不加载。
第三步:尝试 ANGLE 切换
对于路径追踪类光影(Sundial、SEUS PTGI HRR 3)或某些在原生 ES 下有 bug 的光影,切换到 ANGLE 驱动通常能解决问题。
第四步:检查 GPU 类型
有些问题和 GPU 类型强相关:
- Photon Shader:Bloom 在非 Adreno GPU 上有严重渲染问题(官方备注)
- Create flywheel:Mali GPU 上 instancing 后端有 bug(开 ANGLE 或切后端)
- Xaero's World Map:0.5x 缩放下有颜色问题,可能是驱动差异
第五步:更新软件版本
确保以下组件都是最新稳定版:
- MobileGlues 插件和核心库
- Minecraft 版本
- Sodium / Embeddium
- Iris / OptiFine
- 光影包本身
光影包和渲染器都在快速迭代,某个版本的兼容性问题可能在下次更新中就解决了。