3D数学 学习笔记(8) 光照

3D数学 学习笔记(8) 光照

参考书籍:
《3D数学基础:图形与游戏开发》

⊗符号代表两个色彩“按位乘”。


标准光照方程

在这里插入图片描述

在这里插入图片描述

Clit = Cspec + Cdiff + Camb + Cemis

  • Clit:打开光照情况下计算颜色值的结果。
  • Cspec:镜面反射分量。
  • Cdiff:漫反射分量。
  • Camb:环境光分量。
  • Cemis:自发光分量。

需要考虑的因素:

  • 材质属性。
  • 表明法向量方向。
  • 光源性质。
  • 观察者位置。

自发光(emissive)

Cemis = memis
光照颜色值等于自身材质颜色值。


镜面反射(高光反射,specular)

Phong模型

在这里插入图片描述

所有向量都是单位向量。

  • n:表面法向量。
  • v:指向观察者。
  • l:指向光源。
  • r:l 对 n 镜像的结果,r = 2 ( n · l ) n − l 。
  • θ:r 和 v 的夹角,可以用 r · v 计算得到。

r的计算方法:

在这里插入图片描述

  • mgls:材料的光泽度(gloss),一般是灰度值。控制“光斑”范围,值越小,光斑越大且平滑。下图从下到上,值越来越大。
  • mspec:材料的反射强度。控制“光斑”的强度,值越大,越光滑(越亮)。下图从左到右,值越来越大。
  • sspec:光源的镜面反射颜色。控制光的颜色和强度。

在这里插入图片描述

从下到上,mgls越来越大,从左到右mspec越来越大。最左列因为mspec为0,所以对光照不做任何贡献。
在这里插入图片描述

Blinn模型

h(halfway)为 v 和 l 的中间向量(类似对称轴)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


漫反射(diffuse)

是随机的反射光,不依赖于视点位置。光源位置是主要因素。镜面反射是物体表面完全光滑下的反射,而漫反射是物体表面粗糙造成的。

在这里插入图片描述

假设光之间距离相同,且表面有限,垂直射入的光线就会比斜着进入的光线多。

在这里插入图片描述

Lambert法则

  • mdiff:材料的散射色。
  • sdiff:光源的散射色,一般等同于光源镜面色sspec
  • n · l:法向量与光源夹角的余弦值,即角度越大,值越小。

在这里插入图片描述


环境光(ambient)

不涉及任何光源。

  • mamb:材质的环境光,总是等于漫反射分量:纹理图。
  • gamb:整个环境光值。

在这里插入图片描述


多个光源结合

  • 所有光源结合即可,环境光和自发光只有一个。

在这里插入图片描述

在计算顶点光照时,因为mdiff不是顶点级材质属性,可以假设mamb等于mdiff

在这里插入图片描述


着色模型

flat着色

逐多边形计算。一个三角形只计算一次,去三角形的中心。

在这里插入图片描述

Gourand着色

逐顶点插值计算。先通过顶点计算光照,再用于三角形面插值。

在这里插入图片描述

Phong着色

逐像素计算。

在这里插入图片描述


光源

  • 点光源(全向光、球状光,Point Light)。
  • 平行光(Directional Light、Parallel Light),没有位置和衰减。
  • 聚光灯(Spot Light),有高光区还有衰减区。常见圆锥形(手电筒)和四椎体形(电影放映)。

光的衰减(Attenuation)

现实世界中,光的强度反比于物体和光源距离的平方。

在这里插入图片描述

常用一个简单线性方程来计算衰减:dmin内,光强不衰减,dmin到dmax内,光强从1减到0,超出dmax则光强为0。

在这里插入图片描述


BRDF光照模型(Bidirectional Reflectance Distribution Function)

给定入射光线方向和辐照度后,可以得到出射方向的光照分布。如果是对场景理想化和简化后的模型,称为经验模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值