复习一下光照模型

我们首先讨论一下基本的光照模型
在数学上描述基本模型的高级公式如下所示:
    surfaceColor = emissive + ambient + diffuse + specular
1. emissive ( 放射项 )
    放射项表示了由表面所发出的光.
   下面是我们用于放射项的数学公式
    emissive = Ke
    其中:
      Ke代表材质的发射光的颜色.
2. ambient (环境反射项 )
    环境反射项代表了光在一个场景里经过多次折射后看起来就像来自四面八方一样.
    下面是我们用于环境反射项的数学公式(用CG语言表示):
    ambient = Ka * globalAmbient;
3. diffuse (漫反射项)
   慢反射项代表了从一个表面相等地向所有方向射出去的方向光.
 下面我们用来计算漫反射项的数学公式(用CG语言表示)
   diffuse = Kd * lightColor * max(dot(N, L), 0);
   N表示法线方向
 L表示此顶点指向光源的向量.
4.(specular) 镜面反射项
   镜面反射项代表了从一个表面主要的反射方向附近被反射的光.
 下面是我们用来计算镜面反射的数学公式(用CG语言表示)
 
float3 V = normalize(eyePosition - P);
float3 H = normalize(L + V);
float specularLight = pow(max(dot(N, H), 0), shininess);

if(diffuseLight <= 0) specularLight = 0;
float3 specular = Ks * lightColor * specularLight;
 
   Ks是材质的镜面反射颜色
   lightColor是入射镜面的反射光的颜色
   N是规范化的表面法向量
   V是指向视点的规范化向量
   L是指向光源的规范化法向量
   H是V和L的中间向量的规范化向量
   P是要作色的点
   facing是1如果DOT(N,L)是大于0的, 否则为0
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值