IBL计算总结

原文:https://zhuanlan.zhihu.com/p/578665801

在这里插入图片描述

IBL 通常使用(取自现实世界或从3D场景生成的)环境立方体贴图 (Cubemap) ,可以将立方体贴图的每个像素视为光源,然后在渲染方程中直接使用它。

IBL计算主要有两部分组成,一个是光源产生的颜色,另一个是环境产生的颜色。

1.光源产生的颜色

光源产生的颜色计算,直接将数值带入Cook-Torrance反射率方程即可,

在这里插入图片描述

2.环境产生的颜色

环境产生的颜色,其实就是天空盒产生的光照,由间接漫反射光和间接镜面光组成。

将立方体贴图的每个纹素视为一个光源。使用一个方向向量 wi 对此立方体贴图进行采样,我们就可以获取该方向上的光照强度。

对于天空盒产生的环境光,应用反射率方程:

将反射率方程拆分成漫反射和镜面反射两个部分:

(1)间接漫反射光

间接漫反射计算公式:

计算irradiance,即

给定每个片段的积分球坐标,对半球进行离散采样。

如下图所示,在两层循环内,获取一个球面坐标并将它们转换为 3D 直角坐标向量,将向量从切线空间转换为世界空间,并使用此向量直接采样 HDR 环境贴图。我们将每个采样结果加到 irradiance,最后除以采样的总数,得到平均采样辐照度。

最终由间接漫反射产生的环境光为:

vec3 ambient = kD * diffuse * ao

总结:

在这里插入图片描述

(2)间接镜面光照

在这里插入图片描述

3.最终IBL结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值