PBR基础

PBR基础

主要意义:在物理约束下获得更一致、更可预测的材质响应

参考:

Lecture11 Real-Time Physically-based Materials (surface models cont.)_哔哩哔哩_bilibili

(99+ 封私信 / 99+ 条消息) 图形学 - 知乎

光照模型 | 我的学习笔记

(99+ 封私信 / 99+ 条消息) 基于物理的渲染:微平面理论(Cook-Torrance BRDF推导) - 知乎

一,着色模型:真实世界物理模型、理论模型、数学描述

1,Roughness

现实中不存在“绝对光滑”的理想平面,表面都会有凹凸起伏,因此用表面粗糙度来衡量这种不规则性反射光和折射光实际上都会被不同程度的发散到多个方向。

2,反射的主要类型

表面反射(镜面反射):内部能量被吸收完,没有能量再次回弹离开表面。

入射折射:一部分作为热量被吸收,一部分经过反弹重新散射回表面 / 半透明则会继续出射。

3,金属与非金属的漫反射差异以及原因

金属与非金属的差异

金属

镜面反射

内部能量被吸收完,几乎没有表层漫反射,主要表现为有色镜面反射。

非金属不透明(绝缘体)

主漫反射 +

一点镜面反射

内部介质不均匀。

包含许多不连续性,如气泡、外来颗粒、密度变化和结构变化。因此会导致光在物质内部进一步散射,一部分最终被吸收。

而没有被吸收的部分则从表面重新发射出去。

非金属半透明

镜面反射 +

出射折射

内部的介质是均匀的,折射光一部分被吸收。

没有吸收的部分会沿特定的方向继续前进,直到它再次离开介质

4,Fresnel —— Schlick近似

作用:菲涅尔系数决定了表面反射(镜面反射)和折射能量(漫反射+折射)的入射能量比例。

主要取决于以及入射光与表面法线的角度,以及表面两边介质的折射率。

但精确的Fresnel方程计算很复杂,一般都选用的Schlick近似算法。

F0:菲涅尔方程的唯一材质参数,且金属与非金属的该参数差异一般很大。

绝缘体:颜色主要通过漫反射呈现,因此F0的值一般很小,默认为0.04~0.08。

金属:没有漫反射,颜色通过镜面反射实现,因此F0接近于本身的表面颜色。

5,颜色反射的原理、次表面散射(subsurface scattering)与反照率(scattering albedo)

光是一种包含特定波长的电磁波,不同的波长具有不同的颜色,光源发出的往往是带有多个波长的光,光接触到物体表面后,部分波长的光会被物体吸收,而剩余部分则被反弹回表面,这也是物体具有各种颜色的原因;比如苹果,只反弹红光。

次表面散射(漫反射现象的本质解释):因其内部介质不均匀,折射光与内部不连续介质多次碰撞后,一部分被吸收,没被吸收的部分最终再次“逃离”表面。

反照率ρ:折射光重新逃离表面(漫反射出射)的能量占总入射折射光能量的比例,那么被吸收的能量就是(1-ρ),ρ的范围是0到1,0表示所有折射光都被吸收,1表示没有折射光被吸收。

ρ越小则漫反射越弱,比如煤;ρ越大则漫反射越强,比如白雪;且ρ是每个通道单独处理的。

Albedo :不包含光照、阴影、高光的基础反射率/漫反射颜色,一般是RGB三通道的ρ组合向量。

6,PBR材质模型总结

关键词:反射、折射、吸收、散射、Fresnel、金属/非金属、SSS、Roughness、Albedo

(1)简化光照模型(不透明):

F = Fresnel-Schlick(F0,θ

ρ =Albedo (RGB三通道)

镜面反射 = L * F * R(Roughness)

漫反射 = L * (1 - F) *ρ

(2)镜面反射几乎与ρ无关(ρ ≈ 0),漫反射既受ρ影响(主要)也受F影响(次要)。

二,物理基础

(0)渲染方程与BRDF

(1)光传播模型:辐射度量学

(2)Linear Color Space

(3)HDR

(4)能量守恒

三,基础BRDF模型

1, Lambert Diffuse BRDF

1.1 推导

核心假设:所有方向的出射强度相同,出射辐射率只与入射光强度和入射方向有关,与出射方向无关 ——> f_r(ω_i, ω_o) = 常数

(0)入射Irradiance,只与光源和入射角有关。

(1)所有方向的Radiance都相同,根据f_d(f_r为常数)直接从总入射Radiance处分配。

(2)令出射辐射出射度为 M_o,则 M_o 为上半球所有方向出射 Radiance( L0 )的余弦加权积分。

(3)解积分求得 M = L0 * PI。

(4)Albedo的数学定义:总出射能量 / 总入射能量。

(5)联立解得Fd与Albedo的关系。

1.2 缺陷

主要在假设上,所有方向的Exiting Radiance都相同,与View和Roughness完全无关。

(1)grazing angle (掠射角)

(2)retroreflection (后向反射)

真实塑料球体比Lambertian漫反射球体的边缘更亮,是因为真实塑料球体在边缘具有retroreflection现象,而Lambertian漫反射 没有。

(3)Roughness影响

不能够完全无视。

(4)其他PBR 漫反射 BRDF:因过于复杂,主流还是Lambert,所以暂时不衍生了。

2,微表面理论与 Microfacet Specular BRDF

2.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是基于入射与出射方向的,半程向量属于中间临时量,不应该留到最后。

(5)NDF数学归一化

2.4 引入微平面自遮挡,以及通过Roughness参数去控制

几何衰减函数G(Geometric attenuation Factor)

3, 基础BRDF总结

4,Cook-Torrance Specular BRDF

4.1 Fresnel

4.2 NDF

4.3 Shadowing - Mask

5,Multiple Scattering / Energy Compensation

标准 GGX microfacet 在高 roughness 时会丢能量,尤其粗糙金属会显得太暗。

四,Basic Lighting(MR材质模型)

1,实时IBL与预计算

1.1 分析

核心:无论Lambert还是Specular的预计算,本质都是为了把运行时变量提取保留到实时计算中决定,而把剩余部分给提前预计算。

预计算能处理“ 环境、方向分布有关 ”的部分;

实时计算必须保留“ 材质、视角、法线、roughness、metallic 等运行时变量有关 ”的部分

(1)BRDF_Diffuse(常量):
ρ / π
ρ 是非金属 diffuse 主颜色来源,但π则不用保留到运行时。

(2)Diffuse_kd(实时能量分配):
kd = (1 - F) * (1 - metallic)
Fresnel 决定有多少能量进入 specular
metallic 决定是否保留 diffuse

(3)BRDF_Specular(三维,正常的BRDF输入,以及微表面模型输入):
F0:镜面反射颜色,金属主颜色来源
Roughness:控制 D/G 分布形状,也影响反射模糊度
Cosθ:Fresnel 角度项,严格说通常是 VdotH

(4)Specular_Lighting(IBL 入射环境采样):
R = reflect(-V, N)
用 R 去采样 prefiltered environment map
roughness 决定采样哪个 mip level

1.2 Diffuse-Irradiance Map

1.3 Specular

(1)pre-filter environment map

Roughness Level。

(2)BRDF LUT

2,HDR管线

2.1 主要特点

(1)高精度光照贴图:存储真实数据。

(2)高精度中间存储RT:在渲染过程中维持住高精度。

(3)ToneMapping映射到 “设备可显示区间 ”,SDR是【0,1】,但支持HDR的设备可能不同。

(4)显示器是否支持HDR影响最终输出链路:不支持则会回退到Gamma流程。

支持通过PQ/HLG等HDR编码后写入更高精度的RT(10bit / 12bit),最后由显示器解码。

2.2 ToneMapping

Tone Mapping 本质上是把 HDR color 输入到一条非线性曲线里,输出 LDR color。

2.3 对后处理管线的影响
2.3.1 Before ToneMapping

(1)DOF

(2)TAA

(3)SSR Input

(4)Exposure

(5)Bloom / Glare

2.3.2 After ToneMapping

(1)Color Grading

3,Area Light: LTC

4,Photometric units

五,贴图与材质工作流

六,其他类型的BXDF扩展

七,PBR工程管线