光照模型

环境光(ambient)

a m b i e n t = a i n t e n s i t y ∗ l i g h t c o l o r ambient = aintensity * lightcolor ambient=aintensitylightcolor

aintensity: 表示环境光强度
lightcolor: 表示光的颜色,一般为白色

漫反射光(diffuse)

d i f f u s e = d i n t e n s i t y ∗ l i g h t c o l o r ∗ m a x { N ⋅ L , 0 } diffuse = dintensity * lightcolor * max\{N \cdot L, 0\} diffuse=dintensitylightcolormax{NL,0}
dintensity: 表示漫反射强度
lightcolor: 表示光的颜色,一般为白色
N: 为该点的法向量
L: 为光源向量,从顶点指向光源

镜面光照(specular)

s p e c u l a r = s i n t e n s i t y ∗ l i g h t c o l o r ∗ m a x { ( R ⋅ V ) n , 0 } specular = sintensity * lightcolor * max\{(R \cdot V) ^ n, 0\} specular=sintensitylightcolormax{(RV)n,0}
sintensity: 表示镜面光照强度
lightcolor: 表示光的颜色,一般为白色
R: 为光的反射向量
V:为观察者向量
n: 高光指数,反映了表面的光泽程度,
n越大,反光区域小而集中;n越大,反光区域大而分散。

BlinnPhong光照模型

s p e c u l a r B P = s i n t e n s i t y ∗ l i g h t c o l o r ∗ m a x { ( N ⋅ H ) n , 0 } specularBP = sintensity * lightcolor * max\{(N \cdot H) ^ n, 0\} specularBP=sintensitylightcolormax{(NH)n,0}
H: 入射光线L和视线V的中间向量,即半角向量

总结三种光照模型

3D渲染中, 物体表面的光照计算公式为:

Lambert光照模型: 环境光(ambient)+漫反射(diffuse)

Phong光照模型: 环境光(ambient)+漫反射(diffuse)+镜面高光(specular)

Blinn-Phong光照模型: 环境光(ambient)+漫反射(diffuse)+半角镜面高光(specularBP)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值