计算机图形学(七)——Phong光照模型

计算机图形学(七)——Phong光照模型

Phong光照反射模型

Phong反射模型认为来自一个表面的反射由下面三个线性叠加的分量组成:
反射光=环境光+漫反射光+镜面反射光
某一点的光照强度
I = I a + I d + I s = L a ∗ R a + L d ∗ R d + L s ∗ R s   . I = I_{a}+I_{d}+I_{s} = L_{a}*R_{a}+L_{d}*R_{d}+L_{s} *R_{s}\,. I=Ia+Id+Is=LaRa+LdRd+LsRs.

点光源

理想的点光源向所有方向发射的光线强度都相等。
一个位于点P0的点光源:
I ( p 0 ) = [ I r ( p 0 ) 、 I g ( p 0 ) 、 I g ( p 0 ) ] I_(p_0)=[I_r(p_0) 、I_g(p_0)、I_g(p_0)] I(p0)=[Ir(p0)Ig(p0)Ig(p0)]
那么从点p从点光源处接收到的光线强度:
i ( p , p 0 ) = 1 / ∣ p − p 0 ∣ 2 ∗ I ( p 0 ) i(p,p_0)=1/|p-p_0|^2 *I(p_0) i(p,p0)=1/pp02I(p0)
仅仅通过点光源来照明往往会让场景之间的亮暗反差比较大,通过设置环境光,可以减弱由点光源照明引起的过高的对比度。因此会使用一个衰减因子。与距离的平方反比,从而获得柔和的照明效果。
反射模型用4个向量来计算表面上任一点的颜色值,四个向量分别为:

  1. n :表面在p处的法向量
  2. v :p指向观察者的向量
  3. l : p指向扩展光源上任意一点的向量
  4. r : 沿着向量l的方向入射的光线按照反射定律的出射方向
    光源的表示:
    [ L i r a L i g a L i b a L i r d L i g d L i b d L i r s L i g s L i b s ] (1) \begin{bmatrix} L_{ira} & L_{iga} & L_{iba} \\ L_{ird} & L_{igd} & L_{ibd} \\ L_{irs} & L_{igs}& L_{ibs} \end{bmatrix} \tag{1} LiraLirdLirsLigaLigdLigsLibaLibdLibs(1)
    rgb代表红绿蓝,ads代表环境光分量、漫反射光分量和镜面反射光分量。

环境光

环境光是一个常数,并且是全局照明或者间接照明的一种模拟。这一项是必需的,因为一个表面的各个部分不可能“看到”光源,但是观察者可以看到光源,而且需要光源来照明。否则的话,物体将被绘制成黑色的。在现实中,这样的光照来自全局照明或间接照明。
计算:
K a = R a K_a = R_a Ka=Ra
所有点的环境光强度都是相同的,反射部分由环境光的反射系数决定,存在三个反射系数,分别为
K a r , K a g , K a b   . Ka_{r},Ka_{g},Ka_{b}\,. Kar,Kag,Kab.这三个反射系数可以不相同,并且满足三个系数均大于0,小于1。
I a = K a ∗ L a I_{a}= K_{a}*L_{a} Ia=KaLa

漫反射

漫反射表面粗糙,到各个方向反射的光线强度都相等。
计算:
K d = R d K_d = R_d Kd=Rd
入射方向和表面存在一定的夹角,因此漫反射光强:
I d = K d ∗ L d ∗ ( l ⃗ ⋅ n ⃗ ) I_{d}= K_{d}*L_{d}*(\vec{l}\cdot\vec{n}) Id=KdLd(l n )
其中l,n分别代表法向量的方向和光线的方向。
同样可以考虑加衰减因子。

镜面反射

镜面反射为高光,观察者看到的光线强度取决于理想反射光线的方向r和观察者的方向v这两个方向之间的夹角。
计算:
I s = K s ∗ L s ∗ c o s a ( ϕ ) I_{s}= K_{s}*L_{s}*cos^a(\phi) Is=KsLscosa(ϕ)
其中 α \alpha α代表高光系数,金属表面大于100小于500,小于100对应高光区域比较大的材质。
同样可以考虑加衰减因子。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值