IBL镜面反射

原创
2022/07/08 18:20
阅读数 96

再看反射方程的镜面反射部分

由于视点相关不好处理,根据Epic Games' split sum approximation近似计算,这地方很不物理:

learnOpenGL上预滤波环境贴图的部分公式是错误的

预滤波环境贴图

前半部分叫做预滤波环境贴图。每个粗糙度级别,我们将按顺序把模糊后的结果存储在预滤波贴图的 mipmap 中:

这里使用蒙特卡洛积分来求解积分,我们使用低差异序列和重要性采样来优化蒙特卡洛积分的计算。

预计算 BRDF

第二部分公式中包含观察方向,法线,F0(菲涅尔系数),粗糙度参数。

F0在整个积分上是恒定的,将F0提取出来得到:

与计算的结果叫BRDF积分贴图(BRDF LUT)。 2D 查找纹理存储是菲涅耳响应的系数(R 通道)和偏差值(G 通道),观察方向和法线方法夹角cos为横坐标,粗糙度作为纵坐标。

几何函数(微表面自阴影)里面的k参数在直接光和IBL里面不同,原因作者没有解释:

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部