Shader中的光照模型(一)

本系列文章系学习 唐福幸《Unity ShaderLab 新手宝典》的笔记,包含个人理解,如有错误欢迎批评指出

6.1 Lambert光照模型

  • 在现实世界中,一个物体的颜色是由射进眼睛的光线决定的,当光线照射到物体上,一部分会被物体表面吸收,一部分被反射,甚至透射(穿过透明体)
  • 所以,物体表面的光照颜色是由入射光,物体材质以及材质和光的交互规律共同决定的。
  • 但是计算机要还原现实世界的光照及其复杂,计算代价也大,所以数学家们就提出了一些用公式推导的简单光照模型(在尽可能减少计算量的前提下还原光照效果)

Lambert光照模型:计算效率高,比较真实还原粗糙物体表面与光的交互行为

6.1.1 Lambert光照理论

Lambert模型,也可以理解成漫反射模型(个人理解),因为最终就是计算物体各个顶点(像素)上的漫反射颜色,得到物体在光照下的效果。

计算公式为:
Cdiffuse = (Clight · Mdiffuse) saturate(n · l)

  • Cdiffuse:物体的漫反射颜色
  • Clight:入射光线颜色
  • Mdiffuse:物体材质的漫反射颜色
  • n:物体的表面法线
  • l:物体指向的灯光方向向量

在这里插入图片描述
n · l,可知:点积法线与灯光方向夹角越小,结果越大,漫反射越强,漫反射颜色越强;反之,物体背面与灯光方向夹角超过90°,为负数,所以需要saturate函数进行处理

6.1.2 在shader中获取灯光变量

光照模型要与灯光打交道,那么灯光从哪里传递给Shader,取决于当前项目使用的渲染路径。
Edit > Project Setting > Gtaphics面板下
在这里插入图片描述
在右侧的低,中ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值