SD2.PBR材质系统
大约 6 分钟
注
本章不讨论PBR材质系统的实现细节,而是一些基础的知识普及,具体到实时渲染那个专栏会深入研究。
PBR
对计算机图形学感兴趣的朋友可以去阅读《PBRT》这本书

传统材质

Diffuse(漫反射):
- 定义:漫反射是表面对光的散射,即光线在物体表面被吸收然后均匀地散射到各个方向。
- 特点:漫反射表面通常不会产生明显的高光,而是呈现出均匀的亮度。
Specular(镜面反射):
- 定义:镜面反射是光线直接从表面反射,形成明亮的高光。
- 特点:通常用于模拟物体表面的光泽和反光。
Normal(法线):
- 定义:法线是在表面上的垂直方向,用于描述表面的方向。
- 特点:法线在渲染中用于计算光照和阴影,影响表面的视觉外观。
PBR贴图


- Albedo Map(反照率贴图)/Base Color Map(基础颜色贴图):
- 描述物体表面的颜色,即光线直接照射表面后的颜色。在PBR中,Albedo Map通常表示物体表面对入射光的反射程度。

- Normal Map(法线贴图):
- 用于模拟表面的微小细节和凹凸不平。法线贴图通过改变每个像素的法线方向,使得光照计算考虑到这些微小细节。

- Metallic Map(金属度贴图):
- 描述物体表面的金属或非金属属性。黑色通常表示非金属,白色表示金属。

- Roughness Map(粗糙度贴图)/Glossiness Map(光泽度贴图):
- 描述物体表面的粗糙度。在Metal/Roughness工作流中,Roughness Map通常表示表面的粗糙度;而在Specular/Glossiness工作流中,Glossiness Map表示光泽度。


- Height/Displacement Map(高度/位移贴图):
- 描述表面的高度信息,用于模拟凹凸不平的表面细节。在一些情况下,这种信息也可以通过法线贴图来表示。

- Emissive Map(自发光贴图):
- 描述物体表面的自发光部分,即在没有外部光照的情况下自己发光的区域。

- Ambient Occlusion Map(环境光遮蔽贴图):
- 描述物体表面各部分受到环境光照的遮蔽程度。黑色表示较强的遮蔽,白色表示无遮蔽。
PBR材质的两个流程


Metal/Roughness Workflow:
- Metallic(金属度): 使用这个工作流的材质系统中,通常通过一个Metallic Map来定义物体表面的金属度。黑色表示非金属,白色表示金属。
- Roughness(粗糙度): 使用Roughness Map来描述表面的粗糙度,白色表示光滑,黑色表示粗糙。
这种工作流较为直观,因为它使用了两个相对简单的参数来描述材质的重要特性。
Specular/Glossiness Workflow:
- Specular(镜面反射): 这个工作流使用Specular Map来定义物体表面的镜面反射。Specular Map中的颜色通道通常表示表面的反射颜色。
- Glossiness(光泽度): 使用Glossiness Map来描述表面的光泽度,白色表示光滑,黑色表示光泽度较低。
这种工作流与Metal/Roughness不同,但在一些离线渲染引擎和工具中仍然被使用。
通道合并


颜色空间
贴图类型 | 颜色空间 |
---|---|
Albedo Map / Base Color Map | gamma_srgb |
Normal Map | gamma_linear |
Metallic Map | gamma_linear |
Roughness Map / Glossiness Map | gamma_linear |
Ambient Occlusion Map | gamma_linear |
Height/Displacement Map | gamma_linear |
Emissive Map | gamma_linear |
ARM(Ambient, Roughness, Metallic) | gamma_linear |
Height/Displacement.EXR/HDR 等32位的贴图 | lin_srgb |
修改前

修改后
