这里实现的方式基于 LearnOpenGL的公式,主要是将 OpenGL(GLSL) 的实现方式转换成 unity 支持的 Shader。
1. Example_Filter
生成不同粗糙 roughness 情况下的预滤波环境贴图
2. Example_Lut
生成BRDF 积分贴图,lut
3. Example_Irradiance
间接光-漫反射 辐照度图(cubemap)生成
4. Example_PBR
Unity 默认的 GI 生成的 PBR 效果 和 教程中的公式求得效果对比。
上图中, 上面的枪使用的Unity默认的GI管线得到的, 下面的枪使用的LearnOpenGL的方法渲染得到的结果。 项目中 PBR 模型来自于 Artisaverb。