《real-time提炼总结 第四章》《Real-Time Rendering 3rd 第五章》《unity shader 入门精要 第六章 》
图形渲染与视觉外观
渲染的物理现象分为三类:
- 太阳光与其他光源(天然,人造)发出的光
- 光与场景中的物体互相作用。部分被吸收,部分散射开。
- 最终,光被传感器(人眼电子传感器)吸收
光源分类:平行光,点光源,聚光灯
吸收和散射
从根本上,所有光物质相互作用都是两种现象结果:散射(scattering)和吸收(absorption)
散射(scattering):
- 发生在当光线遇到任何种类的光学不连续性(Optical discontinuity)时,可能存在于具有不同光学性质的两种物质分界之处,密度变换处等。
- 散射不会改变光量,他只是改变方向
- 分类:反射(reflection),折射(refraction)
吸收(absorption):
- 发生在物质内部,会导致一些光转变成另一类能量并消失
- 吸收会减少光量(改变光线的密度和颜色),但不会影响其方向
镜面反射光:在表面反射的光
漫反射光:经过透射(transmission),吸收(absorption),散射(scattering)的光。
入射光(Incoming illumination):通过表面辉度(irradiance)来度量
出射光(outgoing light):通过出射率(exitance)来度量,类似于辉度是单位面积的能量。
辉度:从某一方向的一个表面积单位所放射光的量
辐照度(light source):用来量化光,和cos a成正比
辐照度和出射度之间满足线性关系,他们之间的比值就是材质的漫反射和高光反射属性
光物质互相作用是线性的:使辉度加倍将会使出射率增加一倍,出射率/辉度 可以作为材质衡量特性 对于不发光的表面,该比率为0到1之间。出射率和辉度的比率对于不同的光颜色是不同的,所以其表示为RGB矢量或者颜色,也就是我们常说的表面颜色C
(《real-time提炼总结 第四章》中说辉度,《unity shader 入门精要 第六章 》说 辐照度,猜测是一个意思,猜测)
表面:
镜面反射项的方向分布取决于 表面粗糙度(roughness,其反义词是smooothness,光滑度)。
反射光线对于更平滑的表面更加紧密,对于较粗糙的表面更加分散。
着色
着色(shade)是使用方程根据材质属性和光源,计算沿着视线V的射出高度L0的过程。我们使用的着色方程具有漫反射和镜面反射分量。
光照模型(Light Model):计算出射度过程的等式
BRDF光照模型:双向反射分布函数(Bidirectional Reflectance Distribution Function)
BTDF光照模型:双向透射分布函数
BSDF光照模型:双向散射分布函数:出射光的辐射亮度总和 和 入射光的辐射照度 的比例
BSDF=BRDF+BTDF
计算机