本文为大便一箩筐的原创内容,转载请注明出处,谢谢:
光照 Lighting
一、常见的几种光照模型
二、基本的光照模型
1. 数学公式描述:
表面颜色 = 自发光颜色 + 环境反射颜色 + 漫反射颜色 + 镜面反射(高光)颜色
Surface Color = Emissive Color + Ambient Color + Diffuse Color + Specular Color
2. 自发光 Emissive Term
【释义】“自发光”用于描述物体表面在没有光源的情况下散射出的色彩。具有“自发光”属性的物体不等同于光源,它们不具有照亮场景中其他物体的能力。
【数学表达式】
Emissive = Ke
- Ke是材质的发射属性。
本人博客地址,防止无脑抄袭,影响阅读见谅:
3. 环境 Ambient Term
【释义】“环境”用于描述场景中四处可见、没有特定方向的入射光在物体表面发生散射产生的色彩。
【数学表达式】
Ambient = Ka * GlobalAmbient
- Ka是材质的环境属性。
- GlobalAmbient是场景中环境光的色彩。
4. 漫反射 Diffuse Term
【释义】“漫反射”用于描述具有特定方向的入射光在物体表面发生散射所产生的色彩。
【数学表达式】
Diffuse = Kd * LightColor * max(N · L, 0)
- Kd是材质的漫射属性。
- LightColor是漫射光的色彩。
- N是物体表面的单位法向量。
- L是由着色点出发,指向光源的单位向量。
5. 镜面反射 Specular Term
【释义】“镜面反射”用于描述具有特定方向的入射光在物体表面发生折射所产生的色彩。镜面光的特点是会随着视点的移动发生改变。
【数学表达式】
Specular = Ks * LightColor * Facing * (max(N · normalize(V + L), 0)Shininess
- Ks是材质的镜面属性。
- LightColor是漫射光的色彩。
- N是物体表面法线的单位向量。
- V是由着色点出发,指向视点的单位向量。
- L是由着色点出发,指向光源的单位向量。
- normalize(V + L)的结果为V与L的中间向量。
- 当N · L大于0时,Facing = 1;否则Facing = 0。
- Shininess定义了材质表面的光泽度,此值越大越不容易发生镜面反射。