首 页 | 博 客 | 试读下载 | 读者反馈 | 在校学生特惠申请 | QQ群: 308861655

请教一下,大家怎么理解PBR?

pbr
brdf

#1

如题,用了全局光照就算PBR?PBR是材质?


#2

目前PBR的概念其实主要是指使用Microfacet BRDF来描述光与表面交互,或者说描述物体表面属性下的渲染方法,因为Microfacet BRDF能够更加真实地表述物体表面微观结构,所以称为是基于物理的;在美术眼里,PBR主要是指在BRDF模型下生产各种不同物体的材质属性;在技术眼里,PBR更多是多BRDF函数的采样,使光线与表面的交互(反射或折射)遵循BRDF模型!

PBR的概念被强度更主要是指近几年的一些模型遵循物理的一些属性,这方面的讨论可以参见:Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs

如果BRDF模型复杂了,在表面着色的时候对BRDF进行采样的计算复杂度很高,因为要想近似真实的表面微观结构,BRDF就会比较复杂,并且实际上当前使用的BRDF还远远没有达到物理真实,例如目前大都是各向同性的,但是其实生活中大部分材质都是各向异性的,而像Phong模型这样的BRDF函数就简单得多,就是一个高斯分布,但是简单的模型却很难做到物理真实。

关键在于BRDF函数的复杂度与性能的平衡,只是现在硬件性能提升才使得可以处理比较复杂的BRDF计算,因此目前才开始采样更复杂的一些BRDF模型。

PBR本身并没有什么特别之处,例如这个着色流程相对于以前的Phong模型并没有变化,不同的是BRDF分布函数的复杂度,以前的简单模型不具备物理真实,现在普遍采样的BRDF模型更满足一些物理条件而已。

相似参考答案:
物理材质与光线追踪的关系?
More DETAILS! PBR的下一个发展在哪里?


#4

那经常听到的PBR工作流是什么?能讲讲吗?


#5

PBR工作流并没有一个标准的流程,它主要是指使一个物体的材质符合Microfacet BRDF的一系列工作过程。之所以处有这样一种特定的称谓,其原因主要是因为在传统的建模软件中,我们只能导出或生成物体表面的漫反射反射率,当然其它还包括法线,UV等,因为这些是每像素或每顶点属性,它们都是以贴图的形式存储。

但是Microfacet BRDF不是每像素属性,它是一个分布函数,这些属性数据是不能以贴图的形式存储起来的,所以传统的建模软件无法处理Microfacet BRDF的内容,而需要美术或者材质相关的开发人员将这些带有物体模型及其漫反射系数等每像素数据导入引擎后,在引擎内部调整shader以生成最终的PBR材质,因为Microfacet BRDF是函数,它只能存在于shader中,这包括在shader中对每种材质生成metallic,roughness,specular等相关属性。换句话说也就是生成每种表面最终着色器的过程。

当然现在有一些工具如Substance好像是可以直接在引擎外处理这些数据吧,不过我还没有太去了解这些工具。


#6

关于Metallic 和Specular两种工作流的介绍 ,可以参见这里 :
https://www.allegorithmic.com/pbr-guide
国内也有人翻译过
搜索 “PBR 综合指南” 可找到相关资料