0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是光线追踪技术,以及它的历史?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-10-08 09:24 次阅读

编者按:本文作者Blake Patterson是一名全栈开发者,他在文中向我们简单科普了什么是光线追踪技术,以及它的历史。

在目前的PC图形硬件中,讨论最多的技术是一项成为光线追踪(ray tracing)的渲染技术。该技术风靡的原因,都源于几年前英伟达发布的RTX开发平台,以及微软而后推出的针对DirectX 12的DirectX Raytracing(DXR) API。DXR可以让Windows开发者在3D环境中加快GPU进行实时光线追踪的速度。这对游戏爱好者来说是个重大利好,因为光线追踪可以实现更真实的光线渲染,可以在3D场景中进行现实中的动作。

但是,目前仅有少部分游戏能够使用DXR所支持的渲染功能,并且很少有GPU在设计时会将DXR考虑在内、将光线追踪计算的加速作为主要目标。但目前来看,光线追踪仍然热度不减,很多从业者依然愿意为此花大价钱买一台GPU。

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

“英伟达于周一发布了下一代图形架构Turing,名字来源于上世纪初人工智能之父、计算机科学家Alan Turing。

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

但是,光线追踪并不是新技术。事实上,它几乎和最早的3D计算机图形技术一同出现。

什么是光线追踪?A.J. van der Ploeg在他的文章Interactive Ray Tracing:The Replacement of Rasterization?中这样描述:

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

目前渲染的标准方法是光栅化(rasterization),这是一种局部光线渲染方法。它是将从其他表面反射的光也算作在内,例如镜子中的光线。这对倒影或影子的渲染非常重要。例如,加入我们想对水面反射的场景正确建模,就需要用到全局光线渲染方法。在这种局部光线渲染方法之下,水面上的光线只能由直接照射到上面的光决定,并不是场景中其他部分的光线,所以我们看不到倒影。

……

光线追踪是对光的路径进行跟踪而工作的,例如,你在浴室想要刮胡子,屋顶的灯泡发出的光打到你的下巴上,其中有些光线被吸收,剩余光线反射出你皮肤的颜色。这书光线又经镜子反射,直到进入你的视网膜中。这就是虚拟摄像机中的光线给一个像素上色的方法。”

这种技术第一次当做光线追踪使用是在1972年左右渲染某一场景。数学应用团体(MAGI)成立于1966年,原本是为了评估核辐射的暴露值,他们使用的是自己开发的软件SynthaVision。该软件包含了光线投射的概念,可以在放射物源头和其周围追踪到它的踪迹。之后,SynthaVision被用到了计算机图像生成(CGI)中,从放射物追踪变成了光线追踪,成为了第一个光线追踪系统。1972年,Robert Goldstein等人将SynthaVision用于电影和电视剧的制作中,它的第一部广告视频是为IBM设计的,之后1982年还在迪士尼的电影《电子世界争霸战》中用到。

1985年,Commodore发布了7.14MHz、16位的Amiga计算机,其中具备突破性的视频图像处理能力。其中引起人们关注的最早的Amiga制作出的视频就是The Juggle的demo。它是一个24帧循环动画,在Amiga独有的HAM模式下有一个基于光线追踪的杂耍小人,HAM模式可以同时在屏幕上显示4096种颜色的调色板。我还记得1986年在我的Amiga上初见The Juggler的惊喜之情。The Juggler当时是用实验性光线追踪程序ssg进行一帧一帧的渲染,ssg由动画创作者Eric Graham编写。之后,Graham将该项目扩展到Sculpt 3D中,之后又推出了Sculpt/Animate 4D,激发了许多开发者做出基于Amiga的光线追踪器。

之后,上百种其他类型的基于光线追踪的动画在网络上出现,对Amiga以及其他平台进行渲染。从《电子世界争霸战》到今天,光线追踪几乎是所有CGI动画制作的重要部分,例如皮克斯、梦工厂动画都用到了这一技术。

这里需要注意的是,我提到的所有动画和电影都经过了长时间的逐帧渲染,通常需要大量计算机或者渲染工具。《电子世界争霸战》的图像是逐帧渲染的,因为当时的计算资源很有限。在皮克斯早期的电影《玩具总动员》中,通常平均需要四个小时才能渲染一帧。近几年,皮克斯的渲染时间一直维持在高水平的状态,因为它们的计算资源得到了提高,现在的每一帧渲染的复杂程度都得到了提高。

而现在的关注点都在即时光线追踪上,这也是DirectX光线追踪的主要工作目标。它使用CPU和GPU执行一定的光线追踪功能,但同时也能支持计算硬件执行光线追踪计算,例如英伟达GeForce 20系列的图灵微型架构GPU。图灵GPU中的RT核心在进行光线追踪计算时据说比GeForce 10系列的GPU快8倍。当然,相应的软件也必须通过DXR或其他方法支持光线追踪,才能呈现出精美的视觉效果。

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

后记

文章在reddit上发布后,也出现了不同的声音,大家争论的焦点都在“英伟达是否宣布过光线追踪是他们提出的”这一点上。一些网友看过文章之后认为本文的中心思想是在反驳“英伟达创造出了光线追踪技术”,这其实是某些媒体不恰当的表述造成的误会。

事实上,作者的本意是想让大家了解光线追踪技术这一重要图形处理的历史,由于英伟达发布的强大显卡,使得这一技术能在游戏中实时完成渲染,这才是创新所在。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 渲染
    +关注

    关注

    0

    文章

    69

    浏览量

    10917
  • 光线追踪
    +关注

    关注

    0

    文章

    183

    浏览量

    21473

原文标题:英伟达图灵架构的确不错,但光线追踪技术可不是什么新鲜事

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    光线追踪技术学习资料

    资料是Peter Shirley的一周学会光线追踪技术。资料为英文版.光线最终其实已经不是什么新鲜技术了,但是最近随着英伟达最新的显卡加入了
    发表于 10-12 16:36

    光线追踪技术的作用

    其实对于产品设计师而言,光线追踪技术并不陌生。简单的说,是自三维(3D)图形诞生以来图形技术领域最重要的进步之一,而且即将从高深的电影和广
    发表于 11-02 08:21

    光线追踪技术介绍

    光线追踪:一种颠覆性技术
    发表于 01-22 07:19

    硬件光线追踪的优势有哪些

    硬件光线追踪的优势光线追踪面临的关键挑战
    发表于 01-28 07:19

    光线追踪等级系统的介绍

    我们为什么要发布光线追踪等级系统?它对游戏意味着什么?
    发表于 01-29 07:41

    如何看待光线追踪

    光线追踪我们实际应用中经常用吗,他到底是一项什么技术
    发表于 03-07 08:36

    什么是光线追踪

    什么是光线追踪
    发表于 05-28 06:38

    怎样实现光线追踪

    怎样实现光线追踪?怎么使光线追踪生效?
    发表于 05-31 06:51

    硬件光线追踪的优势有哪些?

    光线追踪面临的关键挑战是什么?硬件光线追踪的优势有哪些?
    发表于 05-31 06:53

    【惊呆!】光线追踪效果竟然这么震撼!

    实时光线追踪(real-time ray tracing)一直是很多图形技术发烧友心中的梦想,其原理非常简单就是“来自几何光学的通用技术
    发表于 02-10 07:14 354次阅读

    光线追踪算法汇总

    在基本光线追踪算法中,只追踪有限数目的光线
    的头像 发表于 05-11 15:58 1.7w次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>算法汇总

    OPPO开发者大会2021 colorOS的光线追踪技术

     colorOS的重要技术预告:光线追踪
    的头像 发表于 10-27 17:31 2702次阅读
    OPPO开发者大会2021 colorOS的<b class='flag-5'>光线</b><b class='flag-5'>追踪</b><b class='flag-5'>技术</b>

    NVIDIA OptiX光线追踪引擎的功能特性

    NVIDIA OptiX 光线追踪引擎用于在 GPU 上实现出色光线追踪性能的应用框架,提供简单、递归式的灵活工作流,用于加速光线
    的头像 发表于 09-14 09:37 2702次阅读

    光线追踪:计算机模拟自然光的奥秘

    在计算机图形学领域,有一种技术能够模拟光线在三维场景中的物理行为,从而生成高度逼真的图像,这就是光线追踪光线
    的头像 发表于 10-10 10:08 1015次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>:计算机模拟自然光的奥秘

    基于光线追踪的渲染算法实现

    我们已经涵盖了所有需要说的内容!我们现在准备写我们的第一个光线追踪器。你现在应该能够猜到光线追踪算法是如何工作的了。首先,注意到自然界中光的传播只是从光源发出无数条射线,反弹直到它们撞
    的头像 发表于 10-30 08:06 238次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的渲染算法实现