【转载】PBR(基于物理渲染)技术细节简析
【引言】
上一篇介绍纹理绘图软件说过,SUBSTANCE PAINTERT、MARI 、QUIREX SUITE都是基于PBR渲染技术的纹理绘制软件,那什么事PBR呢? (Physically Based Rendering基于物理渲染技术)
第1页:上帝与程序员之战
起初,神想要世界,于是程序员创造了天地。地是空虚混沌,渊面黑暗。神的灵运行在世界里却看不到周围,于是神说,要有光。结果程序员们在天地表面撒上了金银粉,把空虚混沌染上了各种颜色,然后骗神说——这里有了光。程序员去掉了神身后的金银粉,让其露出了渊面的颜色,然后再次骗神说,光和暗已经分开了。神挪动自己的脚步,程序员便对应的改变渊面的范围,神看影子动了,以为光与暗真的分开了,非常高兴。
——《特效消耗是无尽陷阱?游戏画质现状解析》
在游戏世界的光影之战当中,程序员一直在与上帝或者说自然规律进行着激烈的对抗。为了规避繁琐的数学模型和计算过程,程序员们在相当长一段时间里都选择由自己来扮演上帝的角色,他们没有采用更准确真实的光线与物体交互结果,而是使用较为简便的近似模型甚至直接将自己认为正确的光线照射结果和阴影放置在他们认为正确的地方。
随着需求的进步,我们对游戏真实度的要求越来越高,程序员所采用的甚至是上世纪六七十年代的各种渲染模型已经越来越多的显现出了问题。光线与物体表面的正确关系、阴影的位置、亮度和明暗的表现以及材质与光影互动的结果在现有的环境下都难以做到“真实”的要求,这就导致了一个尴尬的结果——技术越进步,我们的需求越提升,我们所能够获得的视觉特效就却容易出现“奇怪的问题”。
目前的常规渲染技术已经达到了效果的瓶颈
最终,程序员妥协了,他们接受了物理规律统治世界这个简单的事实,以简化模型处理甚至安置阴影和安置光线都不靠谱,唯一的选择只有使用基于更全面准确的物理模型来处理像素。于是,建立在“计算阴影”和“计算光线”这一基调下的新型渲染方式来了,这种渲染方式就是我们今天要介绍的Physically Based Rendering(PBR)。
第2页:以自然规律之名
以自然规律之名
PBR的定义正如其名所言,就是“基于物理过程的渲染”。在PBR框架下,每一种特效都将使用更贴近自然规律甚至是直接描述自然规律的算法来建立,对应的材质也要根据特效及现实视觉结果来进行修正和升级。透过PBR,人们可以实现更加贴近真是自然视觉结果的PC游戏/CG特效。
PBR技术的本职任务在于实现更真实的特效
人类对于图形真实度的处理,其实归根结底就是对颜色的处理。在计算机图形领域,这样的动作也就变成了对像素颜色的处理。如果要图像质量更高,像素颜色的正确性是最根本的基础。而像素的颜色,背后其实就是一整套光线/阴影与物体表面进行互动的物理过程。以数学语言来描述这样的过程,令其能够包含所有必要的物理细节,这就是PBR最基本的任务。
传统的反射着色模型所基于的函数
PBR其实并不是一个逻辑复杂的过程,它更像一杯由各种数学公式组成的鸡尾酒。比如说要描绘正确的高光过程,一个实用的PBR实例就是将施利克的菲涅耳系数与基于施利克-史密斯的视觉函数来进行组合(实例源自CCP的EVE Online)。通过将复数的描述物理过程和结果的算法进行组合,PBR最终能够具备赋予像素正确颜色的能力。
新的基于PBR的数学模型
其实在漫长的图形技术进化过程中,PBR所做的工作一直在被程序员们进行着,从光锥阴影到softshadow,再到最近日趋火热的AO过程,这些技术进步其实都是对算法模型的改进。但相对而言,传统的做法往往集中在某个特定的有针对性的领域,比如说阴影当中,或者往往只考虑了像素的处理,所以并不能解决所有问题。PBR除了为整个渲染过程搭建了一个能够整合的框架,令更多像素细节能够有机会在改进算法和物理模型的作用下呈现更正确的颜色之外,最重要的改进还在于建立了更加完备的、分辨率更高同时能够与经过PBR修饰的光影效果更正确互动的材质库。
PBR过程(前)与传统过程渲染(后)结果对比
即便是基于复杂的Shader过程,现代图形渲染的像素修饰对图像的影响力依旧有限,更多更精细的视觉效果必须以优秀的材质为基础。如果要想在PBR的框架内表达更正确的视觉效果,根据基于物理过程改良之后的新Shader特性重置精度更高且更加贴近自然效果的材质是必须的过程。所以在PBR框架下,无论游戏还是CG渲染的材质库都需要进行重置和更新。这项工作可以由游戏开发者来完成,也可以经由联盟的形式来进行,包括Autodesk以及Adobe等巨头在内的多家公司已经组成了一个新的联盟,专门负责为3DS MAX、MAYA和AutoCAD等提供不断更新的基于现实环境视觉效果的材质。
第3页:今天的一小步
今天的一小步
PBR能够给游戏制作,特效呈现以及CG带来许多有益的进步,它为游戏开发者带来了一个能够提升视觉特效的整体框架。在基于PBR的体系当中,无论是经由Shader实现的光照、阴影或者色彩变化,还是物体表面的材质特征都将会有非常大的提升。我们所获得的实际游戏效果将会因此而进一步得到改善,同时基于CG特效的影像制作过程也将会更加高效和准确。
EVE等一系列现役游戏都将列装PBR
PBR还带来了一个额外的好处,它能够成为既有技术与未来的良好衔接。我们知道,基于光线追踪等手段的新一代渲染方式都建立在复杂而且严谨的数学体系之上,其正确度和复杂度远非当前基于近似甚至人为模型所能比拟。PBR将更为严谨的数学体系有系统的纳入到渲染过程当中不仅能拉近两者之间的距离,同时还可以在CG制作等过程中协助光线追踪取得更准确的结果。
PBR从某种意义上来讲有助于光线追踪的更快到来
当然,目前的PBR还不是尽善尽美的。尽管更为严谨物理模型的引入带来了更好的效果,但对应的算法复杂度也发生了成倍甚至数倍的提升,基于严禁模型的Shader Program将会给显卡的处理能力和效率提出全新的挑战。除此之外,更高解析度的新材质不仅同样会给显卡带来压力,还会给游戏制作者带来新的负担。有得必有失,平衡才是这个世界的真理。如何处理好其中的关系,将会成为硬件供应商以及游戏制作者共同面对的挑战。
这样的游戏效果在未来并不是梦
以目前的参与程度来看,PBR在未来必将成为大势所趋,基于PBR的游戏已经开始出现,诸如EVE online等现役游戏的更新预示着游戏引擎对PBR的大量部署已经开始。相信在不久的将来,我们将会看到更多拥有基于PBR过程打造的真实游戏画面的骨灰级游戏大作。
摘自《中关村在线》