漫谈光照模型

        简单点说,光照模型就是用一些数学公式模拟在真实环境下物体表面在光照下的颜色。这些模型包括但不限于之前讲过的Phong,Blinn-Phong(零基础学习OpenGL--光照和高级光照篇中介绍,二者区别主要在于镜面光照,Blinn-Phong测量的是法线与半程向量之间的夹角,而Phong模型测量的是视线与反射向量间的夹角。Blinn-Phong的镜面光分量会比冯氏模型更锐利一些)。

       光照模型:

        Lambert模型:近似的描述某点的反射光强度为入射光和法线点乘再乘以材质颜色和入射光颜色。(这里简单的认为所有的反射光都是从入射点发出的并且不考虑吸收和折射,但实际不是,对塑料、大理石等适用)。

        Phong模型:环境光+所有光照的lambert反射+反射光和视线点乘后的alpha次幂。考虑高光让物体能够表现出高光斑,当视线和反射光线重合时高光最强。

        Blinn-Phong模型:将Phong中高光部分的反射光点乘视线替换为:法线和半程向量的点乘。其中,半程向量指光线和视线的中间向量。这样效率会提高,另一方面零基础学习OpenGL高级光照中也有讲述Phong的弊端。(之前很多年一直用这个,但是高光比较突兀)

        Phong,Blinn-Phong都是局部光照模型,即不考虑渲染物体周围的环境。全局光照模型不仅考虑了光源直接照射的影响(直接光照),还考虑了物体所处环境反射光产生的间接光照。因此全局关照包含:漫反射(直接光照)、高光反射(直接光照)、环境漫反射、环境反射。(漫反射:物体内部大量微粒子表面的反射或者说内部的散射)

物理渲染:

        我们以前学过光通过介质后分出反射光线和折射光线,这种是理想情况,即交界是无限大的,完全平的平面。在这种情况下,光线不会在很多方向上发生散射,而是会分成两束光,反射光和折射光。反射角等于入射角,但是折射角则取决于物质的折射率。

        反射光:当物体表面的凹凸尺度大于光的波长时,物体表面好比有大量的细微的平滑表面,物体表面看起来的效果就是很多有着不同方向的表面点的反射效果的叠加。表面越粗糙,平面的方向差异性就越大,看到的就越模糊。

        折射光:金属对可见光有很高的吸收系数,折射的光被迅速吸收,而非金属当折射光进入物质时,这些光会继续在里面的子物质上继续交互,大多数情况下这些光在物质内的散射可以从里面再反射出来。

BRDF(双向反射率分布方程):描述了反射(高光)和散射(漫反射)。

          给定入射光线,BRDF给出离开入射点的所有方向上反射光线和散射光线的分布。也可以理解为,给定观察方向,给出这个视线方向上所有入射光线的分布。详细见:本人博客零基础学习渲染--PBR(基于物理渲染)。

(总结篇,未完待续)

猜你喜欢

转载自blog.csdn.net/jfy307596479/article/details/86003800