07 Shading (Illumination, Shading and Graphics Pipeline)

发布时间 2023-04-14 19:47:17作者: ETHERovo

关键点

  • Blinn-Phong Reflectance Model
  • Specular
  • Diffuse
  • Ambient

对不同的物体应用不同的材质,不同的材质与光线的相互作用存在不同的方法。

1. Blinn-Phong Reflectance Model

1.1 光源

  • Specular highlights 高光反射
  • Diffuse reflection 漫反射
  • Ambient light 环境光照

1.2 Shading Point

  • 所有向量都是单位向量。
  • 着色是局部操作,只考虑该点与光的关系,不考虑其他点的影响,所以没有阴影。

1.3 Diffusion Reflection

1.3.1 Lambert's Cosine Law

物理表面法线与光线的夹角影响到了入射光线的量,相应的影响了单位面积的入射光的能量,最终出现不同夹角的亮度不同的漫反射现象。接收到的能量与法线方向和光线方向的夹角余弦成正比。

1.3.2 Light Falloff

光源辐射出的能量在离光源越远的地方能量密度越小,与距离的平方成反比。

1.3.3 Lambertian(Diffuse) Shading

  • 取max(0,cos(theta))是因为余弦值小于零没有物理意义。
  • 不同材质的点对不同波长有不同的吸收率。定义\(k_d\)为反射率,等于1表明完全反射,等于0表明完全吸收。对于RGB三个通道,分别定义一个反射率。
  • 对于漫反射,不同方向的反射光一致,即与\(\vec{v}\)无关。

1.4 Specular

高光是入射光线直接反射,并在反射方向附近区域有一种分布。当观察方向与镜面反射方向接近时,可以观察到高光。

1.4.1 Blinn-Phong

观察方向\(\vec{v}\)与反射方向\(\vec{R}\)接近,可以看作半程向量与法线方向接近。

  • 使用半程向量与法线方向的余弦作为相近性程度判断
  • 同样有高光反射系数,与能量衰减,但是没有接受部分的比例,这是因为是经验公式
  • 使用半程向量可以减少计算量
  • 余弦有指数,是因为余弦的容忍度太高,对角度偏转不敏感,相当于认为高光区域很分散,下图中p=64就可以限制高光范围不超过30°,一般采用p>=100。

1.5 Ambient

下面将环境光假设为空间分布的常数,实际上并非如此,与全局光照相关。

1.6 Blinn-Phong Reflectance Model

来源

[1]Games101. 闫令琪