解决上一篇中的问题
辐射率:
透过一定立体角到某个和光线垂直面积的辐射通量,那么对于每个点来说,辐射率就是它接收到的来自某个立体角的辐射通量,而当立体角特别小的时候,就是一束光线上的辐射通量。
假设我们拥有一个点光源,辐射通量用RGB表示(参考不同波长的光线具有不同的能量,RGB三个颜色就近似代表三个波长区间),该光源的辐射强度等于其在所有出射光线的辐射通量。
但是对于要照射到的一个点来说,在点的半球领域上,只有一个入射方向向量来自于该点光源。也就是说其他方向上辐射率为0。
也就是说,每个光源只有一个方向上的光线会影响所照射的点,这就使得PBR对直接光源计算相对简单,因为我们只需要遍历所有有贡献的光源。
当考虑IBL的时候(考虑环境照明),就需要用积分计算了,因为光线可能从任何一个方向入射
在具体的代码实现中,原则上我们需要完整的表达出这个式子:
fr=kd