光照模型

https://blog.csdn.net/ym19860303/article/details/25545933

1.Lambert模型(漫反射)

环境光:

Iambdiff = Kd*Ia

其中Ia 表示环境光强度,Kd(0<K<1)为材质对环境光的反射系数,Iambdiff是漫反射体与环境光交互反射的光强。

方向光:

Ildiff = Kd * Il * Cos(θ)

其中Il是点光源强度,θ是入射光方向与顶点法线的夹角,称入射角(0<=A<=90°),Ildiff是漫反射体与方向光交互反射的光强,若 N为顶点单位法向量,L表示从顶点指向光源的单位向量(注意顶点指向光源),则Cos(θ)等价于dot(N,L),故又有:

Ildiff = Kd * Il * dot(N,L)

最后综合环境光和方向光源,Lambert光照模型可以写成:

Idiff = Iambdiff + Ildiff = Kd * Ia + Kd * Il * dot(N,L)

 

 

2.Phong模型(镜面反射)

Phong模型认为镜面反射的光强与反射光线和视线的夹角相关:

Ispec = Ks * Il * ( dot(V,R) )^Ns

其中Ks 为镜面反射系数,Ns是高光指数,V表示从顶点到视点的观察方向,R代表反射光方向。由于反射光的方向R可以通过入射光方向L(从顶点指向光源)和物体的法向量求出,
R + L = 2 * dot(N, L) * N  即 R = 2 * dot(N,L) * N - L

所以最终的计算式为:

Ispec = Ks * Il * ( dot(V, (2 * dot(N,L) * N – L ) )^Ns

 

 

3.Blinn-Phong光照模型(修正镜面光)

Blinn-Phong是一个基于Phong模型修正的模型,其公式为:

Ispec = Ks * Il * ( dot(N,H) )^Ns

其中N是入射点的单位法向量,H是光入射方向L和视点方向V的中间向量,通常也称之为半角向量(半角向量被广泛用于各类光照模型,原因不但在于半角向量蕴含的信息价值,也在于半角向量是很简单的计算:H = (L + V) / |L + V|  )。

 

 

4.Rendering Equation(全局光照模型)

Rendering Equation 是Kajia在1986年提出的,

Lo(X, Wo) = Le(X, Wo) + ∫fr(X, Wi, Wo) Li(X, Wi) dot(N, Wi) dWi

其中X表示入射点,Lo(X, Wo)即从物体表面X点,沿方向Wo反射的光强,Le(X, Wo)表示从物体表面X以方向Wo 发射出去的光强,该值仅对自发光体有效,fr(X, Wi, Wo)为,入射光线方向为Wi, 照射到点X上,然后从Wo方向发射出去的BRDF值,Li(X, Wi)为入射方向为Wi照射到点X上的入射光强,N表示点X处的法向量,然后对入射方向进行积分(因为光线入射的方向是四面八方的,积分的意义是对每个方向进行一遍计算后相加),计算的结果就是全局光照的辐射率。

对于单个点光源照射到不会自发光的物体上,公式可以简化成:

Lo(X, Wo) = fr(X, Wi, Wo) Li(X, Wi) dot(N, Wi)

这个公式非常有用,通常会将该公式分解为漫反射表达式和镜面表达式之和。对于漫反射表面,BRDF可以忽略不计,因为它总是返回某个恒定值,所以可以写成如下形式:

Lo(X, Wo) = Idiff + frs(X, Wi, Wo) Li(X, Wi) dot(N, Wi)

其中Idiff表示漫反射分量,使用公式的计算方法,frs(X, Wi, Wo)表示镜面反射的BRDF函数,前面的Phong高光模型,其实是rendering equation在单一光源下针对理想镜面反射的特定推导,对于Phong高光而言:

frs(X, Wi, Wo) = Ks (dot(N, H)^Ns  / dot(N, Wi)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值