
主要意义在物理约束下获得更一致、更可预测的材质响应参考Lecture11 Real-Time Physically-based Materials (surface models cont.)_哔哩哔哩_bilibili(99 封私信 / 99 条消息) 图形学 - 知乎光照模型 | 我的学习笔记(99 封私信 / 99 条消息) 基于物理的渲染微平面理论(Cook-Torrance BRDF推导) - 知乎一着色模型真实世界物理模型、理论模型、数学描述1Roughness现实中不存在“绝对光滑”的理想平面表面都会有凹凸起伏因此用表面粗糙度来衡量这种不规则性反射光和折射光实际上都会被不同程度的发散到多个方向。2反射的主要类型表面反射镜面反射内部能量被吸收完没有能量再次回弹离开表面。入射折射一部分作为热量被吸收一部分经过反弹重新散射回表面 / 半透明则会继续出射。3金属与非金属的漫反射差异以及原因金属与非金属的差异金属镜面反射内部能量被吸收完几乎没有表层漫反射主要表现为有色镜面反射。非金属不透明绝缘体主漫反射 一点镜面反射内部介质不均匀。包含许多不连续性如气泡、外来颗粒、密度变化和结构变化。因此会导致光在物质内部进一步散射一部分最终被吸收。而没有被吸收的部分则从表面重新发射出去。非金属半透明镜面反射 出射折射内部的介质是均匀的折射光一部分被吸收。没有吸收的部分会沿特定的方向继续前进直到它再次离开介质。4Fresnel —— Schlick近似作用菲涅尔系数决定了表面反射镜面反射和折射能量漫反射折射的入射能量比例。主要取决于以及入射光与表面法线的角度以及表面两边介质的折射率。但精确的Fresnel方程计算很复杂一般都选用的Schlick近似算法。F0菲涅尔方程的唯一材质参数且金属与非金属的该参数差异一般很大。绝缘体颜色主要通过漫反射呈现因此F0的值一般很小默认为0.04~0.08。金属没有漫反射颜色通过镜面反射实现因此F0接近于本身的表面颜色。5颜色反射的原理、次表面散射subsurface scattering与反照率scattering albedo光是一种包含特定波长的电磁波不同的波长具有不同的颜色光源发出的往往是带有多个波长的光光接触到物体表面后部分波长的光会被物体吸收而剩余部分则被反弹回表面这也是物体具有各种颜色的原因比如苹果只反弹红光。次表面散射漫反射现象的本质解释因其内部介质不均匀折射光与内部不连续介质多次碰撞后一部分被吸收没被吸收的部分最终再次“逃离”表面。反照率ρ折射光重新逃离表面漫反射出射的能量占总入射折射光能量的比例那么被吸收的能量就是1-ρρ的范围是0到10表示所有折射光都被吸收1表示没有折射光被吸收。ρ越小则漫反射越弱比如煤ρ越大则漫反射越强比如白雪且ρ是每个通道单独处理的。Albedo 不包含光照、阴影、高光的基础反射率/漫反射颜色一般是RGB三通道的ρ组合向量。6PBR材质模型总结关键词反射、折射、吸收、散射、Fresnel、金属/非金属、SSS、Roughness、Albedo1简化光照模型不透明F Fresnel-SchlickF0θρ Albedo RGB三通道镜面反射 L * F * RRoughness漫反射 L * 1 - F *ρ2镜面反射几乎与ρ无关ρ ≈ 0漫反射既受ρ影响主要也受F影响次要。二物理基础0渲染方程与BRDF1光传播模型辐射度量学2Linear Color Space3HDR4能量守恒三基础BRDF模型1 Lambert Diffuse BRDF1.1 推导核心假设所有方向的出射强度相同出射辐射率只与入射光强度和入射方向有关与出射方向无关 —— f_r(ω_i, ω_o) 常数0入射Irradiance只与光源和入射角有关。1所有方向的Radiance都相同根据f_df_r为常数直接从总入射Radiance处分配。2令出射辐射出射度为 M_o则 M_o 为上半球所有方向出射 Radiance( L0 )的余弦加权积分。3解积分求得 M L0 * PI。4Albedo的数学定义总出射能量 / 总入射能量。5联立解得Fd与Albedo的关系。1.2 缺陷主要在假设上所有方向的Exiting Radiance都相同与View和Roughness完全无关。1grazing angle (掠射角)2retroreflection (后向反射)真实塑料球体比Lambertian漫反射球体的边缘更亮是因为真实塑料球体在边缘具有retroreflection现象而Lambertian漫反射 没有。3Roughness影响不能够完全无视。4其他PBR 漫反射 BRDF因过于复杂主流还是Lambert所以暂时不衍生了。2微表面理论与 Microfacet Specular BRDF2.1 微表面理论微表面反射理论假设材质表面是由一系列微小平坦的菲涅尔表面组成。Macro宏观2.2 镜面反射版本理想情况绝对光滑表面的镜面反射此时 f_d Fresnel实际情况微表面的陡峭使得L_o其实是一片范围可用Roughness去近似判断范围大小。2.3引入微平面法线分布模型法线分布函数D(Normal Distribution Function)引入微表面平面与法线分布后镜面 BRDF 被解释为大量微镜面反射的统计平均。此时需要通过法线分布函数 D(h) 描述微表面法线的分布并将其通过 half-vector 到出射方向的变量变换纳入BRDF。推导流程1微观层面下Irradiance发生变化实际受到了D影响。2解释3微观层面出射的Radiance与L_output也受到了影响。3.4但宏观上外部输入的Irradiance不变所以根据BRDF的定义得4消除后得到最终结果因为BRDF是基于入射与出射方向的半程向量属于中间临时量不应该留到最后。5NDF数学归一化2.4 引入微平面自遮挡以及通过Roughness参数去控制几何衰减函数GGeometric attenuation Factor3 基础BRDF总结4Cook-Torrance Specular BRDF4.1 Fresnel4.2 NDF4.3 Shadowing - Mask5Multiple Scattering / Energy Compensation标准 GGX microfacet 在高 roughness 时会丢能量尤其粗糙金属会显得太暗。四Basic LightingMR材质模型1实时IBL与预计算1.1 分析核心无论Lambert还是Specular的预计算本质都是为了把运行时变量提取保留到实时计算中决定而把剩余部分给提前预计算。预计算能处理“ 环境、方向分布有关 ”的部分实时计算必须保留“ 材质、视角、法线、roughness、metallic 等运行时变量有关 ”的部分1BRDF_Diffuse常量ρ / πρ 是非金属 diffuse 主颜色来源但π则不用保留到运行时。2Diffuse_kd实时能量分配kd (1 - F) * (1 - metallic)Fresnel 决定有多少能量进入 specularmetallic 决定是否保留 diffuse3BRDF_Specular三维正常的BRDF输入以及微表面模型输入F0镜面反射颜色金属主颜色来源Roughness控制 D/G 分布形状也影响反射模糊度CosθFresnel 角度项严格说通常是 VdotH4Specular_LightingIBL 入射环境采样R reflect(-V, N)用 R 去采样 prefiltered environment maproughness 决定采样哪个 mip level1.2 Diffuse-Irradiance Map1.3 Specular1pre-filter environment mapRoughness Level。2BRDF LUT2HDR管线2.1 主要特点1高精度光照贴图存储真实数据。2高精度中间存储RT在渲染过程中维持住高精度。3ToneMapping映射到 “设备可显示区间 ”SDR是【0,1】但支持HDR的设备可能不同。4显示器是否支持HDR影响最终输出链路不支持则会回退到Gamma流程。支持通过PQ/HLG等HDR编码后写入更高精度的RT10bit / 12bit最后由显示器解码。2.2 ToneMappingTone Mapping 本质上是把 HDR color 输入到一条非线性曲线里输出 LDR color。2.3 对后处理管线的影响2.3.1 Before ToneMapping1DOF2TAA3SSR Input4Exposure5Bloom / Glare2.3.2 After ToneMapping1Color Grading3Area Light: LTC4Photometric units五贴图与材质工作流六其他类型的BXDF扩展七PBR工程管线