# 吸收与散射

光线在物体表面经过散射后。有两种方向:
- 散射到物体内部: (折射,透射) - 散射到外部: (反射) 散射出来的光线并不多
通常物体表面被反射的光线被称为高光反射(Specular)
折射吸收与散射出表面的则被称为漫反射 根据入射光线的数量与方向,我们可以计算出出射光线的数量和方向,这部分被称为 **・出射度・**

# 着色

Shading 指的是,根据材质属性(如漫反射属性,光源信息等)使用一个等式去计算延某个观察方向的出射度的过程。我们将这个等式称为光照模型

# BRDF 光照模型

BRDF 只是一个经验模型。・计算机图形学第一定律: 如果它看起来是对的,那么它就是对的・更加真实的模拟光和物体的交互的话,就出现了基于物理的 BRDF 模型

# 标准光照模型

标准光照模型只关心直接光照,也就是那些直接从光源发射出来照射到物体表面后,经过一次反射直接进入摄像机的光线。 它的方法是: 把进入到摄像机内的光线分为 4 个部分,每个部分使用一种方法来计算它的贡献度

  • 自发光(emissive)
    这部分用于描述当给定一个方向时,一个表面本身会向该方向发射多少辐射量。(如果没有 GI 技术,这个量并不能照亮周围的物体,只是他自身更加的亮了而已)

  • 高光反射(specular)
    这个部分哟关于描述当光线从光源照射到模型表面时,该表面会在完全镜面反射方向散射多少辐射量

  • 漫反射(diffuse)
    这个部分用于描述,当光线从光源照射到模型表面时,该表面会向每个方向散射多少辐射量

  • 环境光(ambient)
    用于描述其他所有的间接光照

# 环境光

真实世界中,物体可以被间接光照所照亮。间接光照是光照在多个物体间进行的反射,即光线在进入摄像机之前,经过了不止一次的物体的反射。 在标准光照模型中,我们使用一种被称为环境光的部分来近似模拟间接光照,环境光通常是一个全局变量,用这个变量来计算所有物体的环境光。

# 漫反射

漫反射视角的位置并不重要,入射的角度很重要。
漫反射光照符合兰伯特定律(Lambert’s law)
反射光线的强度与表面法线和光源方向之间的夹角的余弦值成正比。

# 自发光

直接由光源发射进入摄像机 (比如物体发出的光,再比如,你发出的光 (狗头))

# 高光反射

高光反射通常使用两个模型来做: Phong 模型和 Blinn Phong 模型
后者是基于前者进行的优化。后者对于前者而言可以少计算一个变量。并且在实验中,Blinn Phong 模型通常更接近真实结果。但 Blinn Phong 在某些情况下会出问题,比如 菲涅尔反射(Fresnel reflection) ,Blinn Phong 是各向同性的 (isotropic), 也就是说,当我们固定视角和广元方向旋转这个表面时,反射不会发生任何改变。但有些表面是具有各向异性 (anisotropic) 反射性质的.

# 逐像素与逐顶点

对于颜色的计算地方,在片元着色器计算中,是逐像素光照的,顶点着色器中计算,则被称为逐顶点光照。逐像素计算中,我们会以每个像素为基础,得到法线,然后进行光照模型的计算,这种面片之间对顶点法线进行插值的技术被称为 Phong着色 ,也被称为 Phong 插值或发现插值着色技术。逐顶点光照,被称为高洛德着色,计算量往往小于逐像素但容易出问题