PBR渲染过程

PBR渲染过程

PBR范畴(Scope of PBR)

  • 基于物理的材质(Material)

  • 基于物理的光照(Lighting)

  • 基于物理适配的摄像机(Camera)

    img

图1:PBR范畴

PBR管线

BRDF函数1

光和物体表面是如何作用的?把光简化为一条光束,如下图,从微观世界的角度,光作用到表面后分为三部分:

  • 高光反射:一部分光被反射出去了,即蓝色部分。
  • 漫反射:一部分光被折射入物体表面并和物体内部的粒子相互作用,最终重新被反射出表面,即绿色部分。
  • 转化为热能:还有一部分光转化为热能被物体吸收了,这个部分没有被反射出来。

所以我们只要高光反射、漫反射这两个部分反射出去的光探究明白,理论上来讲,我们就能物理正确的模拟出真实的物体表面。

img

图2:高光反射和漫反射

因此某点观察到的颜色可以看做:
C o l o r = F ( 光照颜色,法线方向,光照方向,固有颜色 ) Color = F(光照颜色,法线方向,光照方向,固有颜色) Color=F(光照颜色,法线方向,光照方向,固有颜色)
其中 F F F就是著名的BRDF函数,Bidirectional Reflectance Distribution Function,即双向反射分布函数。BRDF一般满足两个特性,交换律和能量守恒。

  • 交换律是说当摄像机位置和光源位置调换位置,这个函数计算的最终结果是相同的。
  • 能量守恒很好理解,就是这个函数的计算结果不能超过光强。

关于光照计算是有很多种流派的,如果某光照计算违反了两者或其中之一,那么它们就不是BRDF,就不是PBR材质。PBR这个词语语境一般就直接代表硬表面材质了,而不是基于物理这个概念,例如3S材质也是基于物理测量的,但是不叫PBR材质。

菲涅尔效应2

首先我们先聊一下菲涅尔效应,如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖面,你会发现水并不是透明的,但反射非常强烈。这就是“菲涅尔效应”。

img

图3:菲涅尔效应

接下来我们讨论一下 F 0 F_0 F0这个变量, F 0 F_0 F0是即 0 度角入射的菲涅尔反射值。后续的数学计算将有一部分的计算是基于F0的。大多数非金属的 F 0 F_0 F0范围是0.020.04,大多数金属的$F_0$范围是0.71.0。对于硬表面PBR材质,我们一般把他们分为金属(导体)和非金属(绝缘体)。其中非金属具有单色/灰色镜面反射颜色。而金属具有彩色的镜面反射颜色。

微表面理论3

表面在微观层面上并不光滑, 而是由大量随机排列的平面碎片组成, 这些平面碎片称为微面片. 图 4展示了平面界面和不规则界面在微观层面上的区别:

img

图 4: 由微面片模型(左)和平面界面模型(右)构建的不规则界面

只有当微面片的法线方向位于光线方向和视线方向中间时, 它反射的光才能被看见, 如图 5所示.

img

图 5: 微面片

然而, 并不是所有法向取向正确的微面片都会产生反射光, 因为BRDF会考虑遮蔽和阴影. 如图 6所示.

img

图 6: 微面片的遮蔽和阴影

粗糙度 参数对微面片BRDF的影响很大, 该参数描述了一个表面在微观层面上的光滑程度(低粗糙度)或粗糙程度(高粗糙度). 表面越光滑滑, 排列整齐的面片越多, 反射光越明显. 表面越粗糙, 朝向相机的面片越少, 入射光反射后就会从相机中散射出去, 从而使镜面高光变得模糊.

图 7展示了不同粗糙度的表面以及光线与它们的相互作用.

img

图 7: 不同粗糙度(从左到右, 从粗糙到光滑)以及对应的BRDF镜面反射分量波瓣

BRDF公式

输出颜色 = ( 漫反射比例 漫反射 π + 镜面反射比例 镜面高光 × 几何遮蔽 × 菲涅尔效应 4 ( v i d e w D i r ⋅ n o r m a l ) ( l i g h t D i r ⋅ n o r m a l ) ) 光源颜色 ( l i g h t D i r ⋅ n o r m a l ) \begin{split} 输出颜色=(漫反射比例 \frac{漫反射}{\pi}+ 镜面反射比例 \frac{镜面高光 \times 几何遮蔽 \times 菲涅尔效应}{4(videwDir \cdot normal)(lightDir \cdot normal)})\\光源颜色(lightDir \cdot normal) \end{split} 输出颜色=(漫反射比例π漫反射+镜面反射比例4(videwDirnormal)(lightDirnormal)镜面高光×几何遮蔽×菲涅尔效应)光源颜色(lightDirnormal)

函数参数
漫反射纹理颜色
镜面高光法线方向、光照方向、摄像机方向、粗糙度
几何遮蔽法线方向、光照方向、摄像机方向、粗糙度
菲尼尔方程法线方向、摄像机方向、金属度

具体公式可以参考“猴子都能看懂的PBR”4



  1. learnopengl中PBR理论 ↩︎

  2. 草履虫都能看懂的PBR讲解(迫真) ↩︎

  3. Filament中基于物理的渲染 ↩︎

  4. 猴子都能看懂的PBR ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值