散射与吸收
光源LightSource
- 光源的方向:l
- 量化:irradiance 辐照度(计算平行光在垂直于l的单位面积上单位时间内穿过的能量)
光与物体相交发生散射与吸收
- 散射:只会改变光线的方向,不改变光线的密度和颜色
- 吸收:只改变光线的密度和颜色,不改变光线的方向
其中散射可以分为:
散射到物体内部,称为折射(Refraction)或者投射(Transmission)
散射到外部,称为反射(Reflection)
在光照模型中可以使用不同部分的计算来区分这两种不同的散射方向:
- 漫反射diffuse:表示有多少光线会被折射、吸收、射出表面(可以计算出光线的数量、方向、出射度,出射度与辐照度之间满足线性关系)
- 高光反射specular:表示物体表面是如何反射光线的
Shading
着色Shading,值根据材质属性、光源信息等去计算某个观察方向出射度的过程,该公式称为光照模型LightingModel
标准光照模型:
只关心直接光照DirectLight,即直接从光源发射照射到物体表面后,经过物体表面的一次反射直接进入摄像机的光线。
- 自发光Emissive,描述一个表面自身会向该方向发射多少辐射量
- 高光反射Specular,描述光线从光源到模型表面时,该表面会完全镜面反射多少辐射量
- 漫反射Diffuse,描述光线从光源照射到模型表面时,该表面会向每个方向散射多少辐射量
- 环境光Ambient,描述间接光照
REF
OpenGL超级宝典、UnityShader入门