艾巴生活网

您现在的位置是:主页>科技 >内容

科技

什么是光线追踪技术,以及它的历史发展过程(什么是光线追踪技术以及它的历史?)

2024-12-07 16:05:07科技帅气的蚂蚁
编辑注:本文作者Blake Patterson是一名全栈开发人员。在这篇文章中,他向我们简要介绍了什么是光线追踪技术及其历史。在目前的PC图形硬件

什么是光线追踪技术,以及它的历史发展过程(什么是光线追踪技术以及它的历史?)

编辑注:本文作者Blake Patterson是一名全栈开发人员。在这篇文章中,他向我们简要介绍了什么是光线追踪技术及其历史。

在目前的PC图形硬件中,讨论最多的技术是一种叫做光线追踪的渲染技术。这项技术的流行源于几年前Nvidia发布的RTX开发平台和微软推出的DirectX 12的DirectX光线跟踪(DXR) API。DXR允许Windows开发者加速GPU 三维环境中的实时光线跟踪。这对于游戏爱好者来说是一个很大的优势,因为光线追踪可以实现更真实的光线渲染,可以在3D场景中进行真实的动作。

但目前只有少数游戏可以使用DXR支持的渲染功能,也很少有GPU在设计时考虑到DXR,以光线追踪计算的加速为主要目标。但目前光线追踪依然火热,很多从业者依然愿意花大价钱买一个GPU。

今年8月14日,英伟达发布了新一代GPU架构——图灵。以下是国外网站关于此事的报道:

"Nvidia周一发布了下一代图形架构Turing。它的名字来源于艾伦图灵,这位计算机科学家是上世纪初的人工智能之父。

最新的图形处理单元(GPU)比传统图形处理的工作量更大,其中嵌入了一个用于人工智能任务的加速器和一种新的图形渲染技术(称为光线跟踪)。"

然而,光线跟踪并不是一项新技术。其实它几乎是和最早的3D计算机图形技术一起出现的。

什么是光线追踪?A.J .范德普洛格在他的文章《交互式光线追踪:光栅化的替代?这在以下内容中有所描述:

"在计算机图形学中,如果我们有一个三维场景,通常我们想知道这个场景是如何在虚拟相机中呈现的。这种在虚拟相机中计算图像的方法称为渲染。

目前标准的渲染方法是光栅化,这是一种局部光线渲染方法。它计算从其他表面反射的光,如镜子中的光。这对于反射或阴影的渲染非常重要。例如,如果我们想要正确地模拟水面反射的场景,我们需要使用全局光线渲染方法。在这种局部光线渲染方法下,水面上的光线只能由直接照射在水面上的光线来决定,而不是来自场景其他部分的光线,所以我们可以我看不到倒影。

……

光线追踪的工作原理是追踪光的路径。比如你要在卫生间刮胡子,屋顶灯泡发出的光打在你的下巴上,一部分被吸收,剩下的反射出你的肤色。这本书的光线再次被镜子反射,直到进入你的视网膜。这就是虚拟相机中的光线如何给像素着色。"

大约在1972年,这种技术首次被用作光线追踪来渲染场景。数学应用小组(MAGI)成立于1966年,最初是为了评估核辐射的暴露值。他们使用自己的软件SynthaVision。该软件包含光线投射的概念,可以跟踪辐射源及其周围的辐射痕迹。之后SynthaVision被用于计算机图像生成(CGI),从光线追迹变为光线追迹,成为第一个光线追迹系统。1972年,Robert Goldstein和其他人在电影和电视剧的制作中使用了SynthaVision。它的第一个广告文章是为IBM设计的,然后被用在了迪士尼1982年的美国电影《电子世界争霸战》。

1985年,Commodore发布了7.14MHz、16位Amiga计算机,它具有突破性的文章图像处理能力。Amiga制作的最早吸引人的文章之一的注意力是杂耍的演示。它是一个24帧的圆形动画,带有一个基于Amiga 独特的HAM模式,可以在屏幕上同时显示4096种颜色的调色板。我仍然记得1986年在我的Amiga上看到杂耍演员时的惊喜。杂耍者使用实验性的光线追踪程序ssg逐帧渲染,ssg由动画创作者Eric Graham编写。后来,Graham将该项目扩展到了Sculpt 3D,然后推出了Sculpt/Animate 4D,这启发了许多开发人员基于Amiga制作光线跟踪器。

之后,互联网上出现了数百种其他类型的基于光线跟踪的动画,渲染了Amiga和其他平台。从《电子世界争霸战》到今天,光线追踪几乎是所有CGI动画的重要组成部分,比如皮克斯和梦工厂动画。

这里需要注意的是,我所说的所有动画和电影都是长时间逐帧渲染的,通常需要大量的电脑或者渲染工具。755-79000的图像是逐帧渲染的,因为当时计算资源有限。在早期的皮克斯电影《电子世界争霸战》中,渲染一帧通常平均需要四个小时。近年来,皮克斯的渲染时间一直保持在一个较高的水平,因为他们的计算资源得到了提高,现在每一帧渲染的复杂度都得到了提高。

现在的重点是实时光线跟踪,这是DirectX光线跟踪的主要目标。它使用CPU和GPU来执行某些光线跟踪功能,但它也可以支持计算硬件来执行光线跟踪计算,例如NVIDIA GeForce 20系列的图灵微架构GPU。图灵GPU中的RT核据说比GeForce 10系列GPU在光线追踪计算上快8倍。当然,相应的软件还必须支持通过DXR或者其他方法进行光线追迹,才能呈现出漂亮的视觉效果。

如此看来,光线追踪技术至少已经存在了45年,并不是什么新技术。能够让我们在游戏或者VR环境中实时体验到这种技术进步的应该是新的API和不断升级的硬件,这才是真正的新事物。

附言

文章在reddit上发表后,也出现了不同的声音。所有人的焦点的辩论是英伟达是否宣布光线追踪是他们提出的。有网友看完文章后认为,这篇文章的中心思想是反驳Nvidia创造了光线追踪技术,这其实是某些媒体的不当表述造成的误解。

其实作者的初衷是想让大家了解光线追迹技术这一重要的图形处理技术的历史。因为英伟达发布的强大显卡,这项技术可以在游戏中实时完成渲染,这就是创新之处。