哪些电影使用了光线追踪技术?

只有《阿凡达》和《丁丁历险记》,其他都是光栅技术。

目前游戏中没有真正的光线追踪技术,只有伪技术。第一次和第二次光反射形成的亮区被多光源系统代替,即如果把太阳光照射的室内墙壁作为光源,房间内的其他物体,比如太阳光照射的墙壁附近的地板,会比较亮,逐渐变暗,非常逼真。

当你第一次看到《毁灭战士3》里在闪烁的灯光下拖得满屋都是怪物的影子时,你有没有一种被惊艳到的震撼?这是赋予阴影正确的数学关系的结果。阴影体积通过计算光源和对象之间的辐射角度来构造阴影形状。由于考虑了遮挡关系,阴影体第一次在数学层面上还原了主光、物体和阴影之间的正确位置和相互作用。通过数学关系的对应,光源的运动可以直接反映在阴影上。

但问题是,真正的影子永远不可能像切蛋糕一样把亮区和暗区一分为二。通过物体的边缘,应该会有更多的光线进入阴影边缘。也就是说,我们需要在阴影边缘有一个柔和的阴影。

于是程序员开始推出各种看似美好和谐的算法来处理软阴影的问题。傅立叶级数,非线性函数逼近,卷积定理,切比雪夫不等式...一般用户绝对不可能在一生中看到名字开始沉浸在阴影处理的各个方面超过三次。它们每一个都有着华丽的外表和美丽的内涵,在解决阴影边缘单个像素的对比和色彩问题时,都是极其精致和谐的。

然而,要处理的像素显然不止一个。对于阴影边缘的每个像素,上述过程至少要重复一次,有些像素可能要重复多次,直到结果正确。于是在这些算法中,数学最简单的暴力积累效应被放大到了不可忽视的高度。

实现软阴影的阴影还是不正确的。虽然因为更多的光线流入,阴影的边缘更加柔和,但这些光线仍然来自同一个光源。真实场景中的光源显然不止一个。任何场景中物体表面的反射和漫反射都可以成为新的光源,这些反射和散射光不可能不影响阴影。

二次光源在不同场景、不同视角下产生的光照无法提前预估,所以提前设计纹理阴影的效果自然不可能成功。

既然不能提前设计,那就把处理过程放到实时游戏里吧。于是,程序员再次开始研究全局间接光照效果的数学关系。先后出现的GI和光子贴图的硬件计算功耗太大或者效果不好。直到crytek在SGI2007上提交了一篇名为《寻找下一代——cry engine 2》的论文,全球间接照明的实际应用才开始。本文中,crytek提出了一种全新的处理方法——屏幕空间环境遮挡(简称SSAO)。这个手术的难度和复杂程度应该是大家可以想象的。

数学终于褪去了她美丽的伪装,彻底暴露了他丑陋野蛮的本来面目。方程很美,但如果美丽的数学方程从1变成1000,你还会觉得她美丽精致吗?变成10000?100000呢?2304000呢?当然,未来还有光线追踪等着我们。也许未来随着光线追迹的引入,会出现更可怕的数学运算,这是硬件根本无法接受的。

《阿凡达》就是因为光线问题,一个大型电脑群要花上百万小时才能拍出一部两个半小时的电影,比如《变形金刚3》。成千上万的机器人部件需要不同角度的光线。渲染阴影然后组装成骨架再渲染,这是一个很可怕的数学运算。

比如《阿凡达》和英伟达有关,但主角换成了特斯拉GPU计算服务器和新开发的光线追踪引擎。《阿凡达》的视觉特效由来自新西兰惠灵顿的著名导演彼得·杰克逊打造,他制作了800多个CG角色,拥有惊人的细节和大量逼真的场景,他们也是英伟达的长期客户。

2009年3月,Weta首席技术官Paul Ryan、渲染研究负责人Luca Fascione、NVIDIA Research高级架构师Jacopo Pantaleoni聚在一起讨论《阿凡达》的特效制作。保罗·瑞安指出,在整个CG视觉特效史上,《阿凡达》第一次将所需的三角形数量从一百万个增加到了十亿个,而且他们对灯光效果也有自己独特的看法,因此他们需要一种全新的、灵活的光线追踪渲染方案。

Jacopo Pantaleoni随后在Weta的新西兰总部驻扎了几个月,帮助他们开发了一个预先计算的光线跟踪引擎,以处理《阿凡达》中的数十亿个三角形。他们把它命名为“PantaRay”,它来自希腊谚语“Pantarei”(万物流动)。用非专业的语言解释,这个引擎大大加快了CG制作和渲染过程,让Weta在更短的时间内创建更复杂的场景。比如电影中有一个场景,看到一大群紫色外星人从直升机上飞过水面,背景是森林覆盖的山脉。用PantaRay预计算只需要一天半,而之前的渲染方法最多需要一周。