基于物理的渲染(1):基本概念
基于物理的渲染(1):基本概念
1 背景
基于物理的渲染即Physically Based Rendering (PBR) ,也被称为PBS,指一定程度上满足物理规律的渲染工作流,比Phong模型相比渲染的效果更加真实。它在由Disney在SIGGRAPH 2012 会议上提出的一种BRDF模型之后应用得比较广泛,优点在于只需要一个shader就可以渲染大部分的材质,而不是传统的一种材质对应一种shader,在不同光照下可以得到比较自然的材质效果,缺点在于需要使用专业工具创建更加丰富的纹理类型,如金属值纹理、高光反射纹理、粗糙度纹理、遮挡纹理。PBR常分为金属粗糙流:使用基础颜色、粗糙度、金属度三张纹理,高光光泽流:使用漫反射、光泽度、高光三张纹理,共同使用法线、环境光遮蔽等纹理。
2 反射与散射
下图为光与物体表面的交互示意图,引自《GDC 2016,An End-to-End Approach to Physically Based Rendering》
反射即为光线在介质交界处改变传播方向,返回原来的介质的现象。金属的反射颜色为三通道的彩色,RGB各不相同,而绝缘体中反射为单通道的单色。
散射即为光线在介质交界处改变传播方向,透过交界面进入新介质的现象,这些光一部分被介质吸收,一部分又被散射到外部,称为次表面散射光。散射到金属内部的光线会被自由电子立即吸收,所以金属不存在散射。而非金属会吸收一部分频率的光线,光强会因为吸收而减小,传播得越远吸收的光线越多。透明介质因为无折射率变化,不存在散射,光沿直线传播。
3 微平面理论
微平面理论(Microfacet Theory)理论认为达到微观尺度后,平面可以视作很多绝对光滑的镜面组成。大的平面越是粗糙,微平面的排列越混乱,导致入射光线反射方向越是杂乱,以至于完全发散开来。也就是说越粗糙的表面的镜面反射范围更广,越光滑的表面光线反射方向越接近,范围乐锐利,如下图所示,引自《Moving Frostbite to PBR,SIGGRAPH 2014》。
能量守恒原则指出射光的能量不会超过入射光的能量,表现出来的效果就是表面越粗糙,高光范围越大,但是整体亮度下降。同时反射加上散射的能量等于总的入射能量。
4 辐射度量学
辐射通量(Radiant Flux,W):单位时间内辐射的能量。一个光源所发出的光线包含各种波长,辐射通量因此是波长的函数的积分,简化可以使用三原色能量之和来表示。
立体角(Solid Angle):单位球体上的一个截面的大小或者面积,类似于二维上的弧度。
辐射强度:单位立体角上光源发射的辐射通量。\(I=\frac{d\Phi}{dw}\)
辐射率(Radiance):对单位面积,单位立体角上,辐射的总能量,用于量化来自单一方向上光线的大小或强度。它受到入射光线和平面法线间夹角余弦值的影响,当平面完全垂直于光线时辐射的能量越多。我们可以用辐射率表示单束光线穿过空间中一个点的通量。
辐照度(Irradiance):表示所有投射到同一点上光线辐射率总和。