1.6 基于物理的渲染简史 - Physically Based Rendering From Theory To Implementation(PBRT)

Physically Based Rendering From Theory To Implementation(PBRT)

翻译:https://pbr-book.org/4ed/Introduction/A_Brief_History_of_Physically_Based_Rendering

1.6基于物理的渲染简史

在20世纪70年代计算机图形学的早期,要解决的最重要的问题是可见性算法和几何表示等基本问题。当1兆字节的RAM是稀有而昂贵的奢侈品,当一台每秒能进行100万次浮点运算的计算机要花费数十万美元时,计算机图形的复杂性就会相应地受到限制,任何试图精确模拟物理以进行渲染的尝试都是不可行的。

随着计算机的能力越来越强,价格越来越便宜,人们可以考虑使用计算要求更高的渲染方法,这反过来又使基于物理的方法变得可行。布林定律(Blinn’s law)很好地解释了这种进展:“随着技术的进步,渲染时间保持不变。”

Jim Blinn的简单陈述抓住了一个重要的约束:给定必须渲染的图像的数量(研究论文渲染图像的数量很少,一部电影的渲染图像的数量超过10万),只可能为每个图像花费这么多的处理时间。在必须完成渲染之前,一个人有一定的计算量和一定的时间,因此每张图像的最大计算量必然是有限的。

布林定律还表明,人们希望渲染的图像和他们能够渲染的图像之间仍然存在差距:随着计算机变得越来越快,内容创作者继续使用更强的计算能力,以更复杂的渲染算法渲染更复杂的场景,而不是像以前那样以更快的速度渲染相同的场景。渲染继续消耗所有可用的计算能力。

1.6.1 研究

20世纪80年代,图形研究人员开始认真考虑基于物理的渲染方法。Whitted的论文(1980)介绍了使用光线跟踪实现全局照明效果的想法,打开了一扇可以准确地模拟场景中的光线分布的门。他的方法产生的渲染图像与以前看到的任何图像都明显不同,这激发了人们对这种方法的兴奋。

在基于物理的渲染方面,早期另一个值得注意的进展是Cook和Torrance的反射模型(1980,1982),它将微面反射模型引入图形。在其他贡献中,他们展示了精确建模微表面反射使精确渲染金属表面成为可能;早期的方法不能很好地渲染金属。

不久之后,Goral等人(1984)将热传导和渲染联系起来,展示了如何使用基于物理的近似光传输来合并全局漫反射照明效果。该方法基于有限元技术,场景中的表面区域可以相互交换能量。这种方法被称为“热辐射”(“radiosity” ),以一个相关的物理单位命名。随后Cohen和Greenberg(1985)以及Nishita和Nakamae(1985)的工作引入了重要的改进。再一次,基于物理的方法导致图像具有以前从未在渲染图像中看到的灯光效果,这导致许多研究人员在这一领域进行改进。

虽然热辐射(“radiosity” )方法是基于物理单位和能量守恒的,但随着时间的推移,它不会引领实际的渲染算法:渐进的计算复杂性是一个难以管理的 O ( n 2 ) O(n^2) O(n2)算法,并且必须沿着暗处边界重新组合几何模型以获得良好的效果;研究人员很难为此目的开发强健和高效的组合算法。热辐射在实践中的应用是有限的。

在热辐射的时代,一小群研究人员追求基于光线追踪和蒙特卡罗集成的物理渲染方法。当时,许多人对他们的工作持怀疑态度;由蒙特卡罗积分误差引起的图像中令人讨厌的噪声似乎是不可避免的,而基于辐射的方法很快就会给出视觉上令人满意的结果,至少在相对简单的场景中是这样。

1984年,Cook、Porter和Carpenter提出了分布式光线跟踪,将Whitted的算法推广到相机的运动模糊和散焦模糊、光滑表面的模糊反射和区域光源的照明(Cook et al. 1984),展现了光线追踪能够生成许多重要的软光照效果。

不久之后,Kajiya(1986)引入了路径追踪;他给出了渲染问题(光传输积分方程)的严格公式,并展示了如何应用蒙特卡洛积分来解决它。这项工作需要大量的计算:使用Path Tracing渲染两个球体的256x256像素图像需要在IBM 4341计算机上进行7个小时的计算,在它首次发布时大约花费28万美元(Farmer 1981)。随着von Herzen的加入,Kajiya还将体绘制方程引入了图形领域(Kajiya和von Herzen, 1984);这个方程描述了光在参与介质中的散射。

Cook等人和Kajiya的工作再次得到了与以前见过的任何图像都不同的图像,证明了基于物理方法的价值。在随后的几年里,Arvo和Kirk(1990)以及Kirk和Arvo(1991)的论文描述了蒙特卡罗用于真实感图像合成的重要工作。Shirley的博士论文(1990)和Shirley等人(1996)的后续工作对基于蒙特卡洛的工作做出了重要贡献。霍尔的《计算机生成图像中的照明和颜色》(llumination and Color in Computer Generated Imagery) (1989)是最早以物理为基础框架呈现渲染的书之一,安德鲁·格拉斯纳的《数字图像合成原理》(Principles of Digital Image Synthesis laid out foundations of the field)(1995)奠定了该领域的基础。Ward的辐射渲染系统是一个早期的基于物理的开源渲染系统,专注于灯光设计(Ward 1994),而Slusallek的视觉渲染器Vision renderer旨在弥合基于物理方法和当时广泛使用的RenderMan界面之间的差距,后者不是基于物理的(Slusallek 1996)。

在Torrance和Cook的工作之后,康奈尔大学(Cornell University)计算机图形学的大部分研究都是基于物理的方法。Greenberg等人(1997)总结了这项工作的动机,他强烈主张通过测量真实世界物体的材质属性和对人类视觉系统的深入理解来进行物理上准确的渲染。

基于物理的渲染向前迈出的关键一步是Veach的工作,在他的论文(Veach 1997)中有详细的描述。他们推进了蒙特卡罗渲染的关键理论基础,同时也开发了新的算法,如多重重要性采样(multiple importance sampling),双向路径跟踪(bidirectional path tracing)和Metropolis光传输,大大提高了其效率。以Blinn定律为指导,我们认为这些效率的显著提高对于实际采用这些方法至关重要。

大约在这个时候,随着计算机变得越来越快,越来越并行,一些研究人员开始追求实时光线跟踪;Wald、Slusallek和Benthin写了一篇有影响力的论文,描述了一种高度优化的射线跟踪器,比之前的射线跟踪器更有效(Wald et al. 2001b)。随后的许多论文介绍了越来越高效的光线跟踪算法。虽然大部分工作没有物理基础,但这些结果在光线追踪加速结构和光线追踪几何组件的性能方面取得了很大进展。由于基于物理的渲染通常大量使用光线追踪,因此这项工作反过来又具有与更快的计算机相同的有用效果,使得使用物理方法渲染更复杂的场景成为可能。

本文结束了对基于物理的渲染研究进展的关键步骤的总结,尽管还做了更多的工作。本书后续各章中的“拓展阅读”部分详细介绍了这项工作。

1.6.2 生产

20世纪80年代,随着计算机性能的提高,计算机图形可以开始用于动画和电影制作。早期的例子包括1981年吉姆·布林(Jim Blinn)对旅行者2号飞越土星的渲染,以及电影《星际迷航2:可汗之怒》(1982)、《创》(1982)和《最后的星际战斗机》(1984)中的视觉效果。

在计算机生成图像的早期生产使用中,基于栅格化的渲染(特别是Reyes算法(Cook等人1987年))是唯一可行的选择。一个原因是没有足够的计算用于复杂的反射模型或基于物理的光线跟踪所能提供的全局照明效果。更重要的是,栅格化具有重要的优势,它不需要将整个场景表示装入主内存。

在RAM还不够丰富的时候,几乎任何有趣的场景都太大了,无法装入主内存。基于栅格化的算法使渲染场景成为可能,同时在内存中随时只有整个场景表示的一个小子集。如果整个场景无法装入内存,则很难实现全局光照效果;多年来,在有限的计算机系统下,内容创作者有效地决定几何和纹理复杂性比照明复杂性更重要的视觉真实感(反过来说,物理准确性)。

当时的许多从业者还认为,基于物理的方法对于生产来说是不可取的:计算机图形学的伟大之处在于,人们可以欺骗现实而不受惩罚地达到所需的艺术效果。例如,在普通电影中,灯光设计师经常努力放置光源,以便摄像机看不到它们,或者花相当大的精力放置光源,以照亮演员,而不会在背景上发出太多光线。例如,计算机图形学提供了实现光源模型的机会,该模型在角色上的光照是在背景对象上的两倍。多年来,这种能力似乎比物理精度更有用。

在20世纪90年代末和21世纪初,需要将渲染图像与拍摄的真实世界环境相匹配的视觉效果从业者率先捕捉了真实世界的照明和阴影效果,并且是基于物理方法的早期采用者。(参见Snow(2010),了解工业光魔在这一领域的早期工作历史。)

在此期间,Blue Sky Studios采用了基于物理的管线(Ohmer 1997)。1992年,他们为一款博朗剃须刀制作的广告的真实感吸引了许多人的注意。1998年,他们的短片《兔子》(Bunny)上映,是蒙特卡洛全局照明应用于制作的早期例子。它的视觉外观本质上不同于那些由雷耶斯渲染的电影和短片,并被广泛注意。《Blue Sky》的后续故事片也采用了这种方法。不幸的是,Blue Sky从未公布他们的方法的重要技术细节,限制了他们更广泛的影响。

在21世纪初,心理光线 光线追踪系统(mental ray ray-tracing system)被许多工作室使用,主要用于视觉效果。它是一个高效的光线追踪器,具有复杂的全局照明算法实现。开发者的主要关注点是计算机辅助设计和产品设计应用程序,因此它缺乏处理极其复杂场景的能力和电影制作所需的大量纹理贴图等功能。

在Bunny之后,另一个分水岭时刻出现在2001年,当Marcos Fajardo带着他的Arnold renderer的早期版本来到SIGGRAPH会议。他在蒙特卡罗图像合成课程中展示的图像不仅具有复杂的几何形状、纹理和全局照明,而且在几十分钟内渲染完成。虽然这些场景不像当时电影制作中使用的那样复杂,但他的结果显示了许多结合全局照明和复杂场景的创造性机会。

Fajardo 把 Arnold 带到了索尼影视图像工作室,在那里,工作开始将它转变为一个能够生产的基于物理的渲染系统。许多问题必须解决,包括有效的运动模糊,可编程的阴影,支持大规模复杂的场景,以及延迟加载场景几何和纹理。Arnold 最早是在电影《Monster House》中使用的,现在已经成为商业产品。

在21世纪初,皮克斯的RenderMan renderer开始支持混合光栅化和光线跟踪算法,包括许多用于在复杂场景中计算全局照明解决方案的创新算法。RenderMan最近被重写为一个基于物理的光线跟踪器,遵循pbrt的通用系统架构(Christensen 2015)。

基于物理的蒙特卡洛方法在制作中取得成功的主要原因之一是它们最终提高了艺术家的生产力。以下是一些重要的因素:

  • 所涉及的算法基本上只有一个质量指标:每个像素取多少样本;这对艺术家非常有帮助。光线追踪算法也适用于渐进细化和通过每个像素只取几个样本快速计算粗略预览;基于光栅化的渲染器没有相同的功能。
  • 采用基于物理的反射模型使表面材料的设计更加容易。以前,当使用反射模型时,物体可能被放置在单一的光照环境中,而其表面反射参数则被调整。物体在那个环境下可能看起来很好,但当它移动到另一个光照环境时,它通常会完全错误,因为表面反射的能量太少或太多:表面属性被设置为不合理的值。
  • 光线跟踪计算出的阴影质量比光栅化要好得多。它消除了调整阴影图分辨率、偏差和其他参数的需要,消除了照明艺术家的一项令人不快的任务。此外,基于物理的方法从方法本身带来了反弹照明和其他软照明效果,而不是作为艺术调整的手工过程。

在撰写本文时,基于物理的渲染被广泛用于制作计算机生成的电影图像;图1.21和图1.22展示了来自最近两部电影的图像,它们使用了基于物理的方法。
在这里插入图片描述

图 1.21 《地心引力》(2013)以计算机生成的逼真空间环境图像为特色,具有体积散射和大量各向异性金属表面。该图像是使用Arnold生成的,这是一个基于物理的渲染系统,可以考虑全局照明。图片由华纳兄弟和Framestore提供。
在这里插入图片描述
图 1.22 这张来自《阿丽塔:战斗天使》(2019)的图片也是使用基于物理的渲染系统渲染的。图片由维塔数字,©2018二十世纪福克斯电影公司版权所有。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值