跳过主要内容

什么是光线追踪,为什么你想要它在你的GPU?

射线追踪图像的实时

昨天,英伟达发布了最新一代的服务器级Quadro图形处理器,Quadro RTX家族,它可以实时处理光线追踪。英伟达会告诉你光线追踪是图形渲染技术的圣杯,但它到底是什么呢?为什么它如此重要?

简单地说,光线追踪是一种渲染技术这产生了逼真的图形与真实生活的照明和阴影形成。该过程考虑了渲染对象的物理属性和它们的材料组成,以准确模拟光如何与它们相互作用,包括光的反射、折射或吸收水平。

它是如何工作的

光线追踪渲染引擎映射光线到达视口(也就是你的眼睛)的轨迹,通过向后工作并从视口直线投射光线(为显示器的每个像素投射一条光线),并捕捉光线与数字表面相交的点。物体表面的材料属性,如颜色、反射率和不透明度,决定了物体的颜色以及它如何与光线相互作用。因为光线从你的视口传播,当你改变视角时,光和影自然地相互作用。

光线追踪计算光线如何从表面反射回来。它还决定了阴影会在哪里形成,以及光线是否会从另一个方向反射来照亮那个空间。因此,光线追踪图形可以产生带有柔和、平滑边缘的阴影,尤其是当场景中有多个光源时。

光线追踪还有一个明显的优势,那就是能够模拟玻璃或水等透明材料,以及光通过这些物体时的折射。

没有栅格化,没有着色器

传统的计算机图形技术依赖于一种称为光栅化的技术,它将3D渲染转换为显示器的2D输出。然后,评级图像依赖于复杂的着色器来给场景一种深度感。在光线追踪图形中,深度是场景中不可分割的一部分,你不需要一个着色器来赋予它生命。

计算密集型

光线追踪技术并不是什么新技术,而且我们几乎可以保证你以前就遇到过光线追踪图形。好莱坞在电影中使用光线追踪技术,将数字特效与实景电影无缝融合。然而,光线追踪是非常密集的计算,用传统渲染场处理这些场景可能需要数天甚至数周的时间,这就是为什么游戏的光线追踪图像只存在于预渲染过场动画中。

英伟达至少十年来一直在推动光线追踪技术。在2008年,它收购了一家名为RayScale的光线追踪公司在两年后的2010年Siggraph上,它显示了第一个交互式光线追踪演示使用基于费米的Quadro卡片。在亲眼目睹了演示后,我们猜测我们将在“几代GPU”中看到实时光线追踪能力。

几代变成了六代,但英伟达最终实现了实时射线跟踪与新的Quadro RTX阵容。当该公司发布支持实时光线追踪的游戏级gpu时,我们应该会看到未来电子游戏图像保真度的巨大提升。实时光线追踪是让游戏图像与我们周围的现实世界难以区分的基本步骤。

Kevin Carbotte是Tom's Hardware US的特约撰稿人。他撰写关于显卡和虚拟现实硬件的新闻和评论。
18岁的评论 来自论坛的评论
  • Martell1977
    我想这在虚拟现实游戏/程序中尤其重要。我想知道这个新的设计将会对功耗产生什么影响,以及它是否会作为GPU核心OCing的一部分可超时钟,单个的,甚至是完全的。

    AMD对此的反应应该会让事情变得有趣。
    回复
  • bloodroses
    所以,目前的图形是基于光栅的。现在,实时光线追踪技术即将到来,图像会完全切换到这种技术,还是两者的混合?

    真正有趣的是,英特尔的Larabee失败了,因为它不能很好地处理光栅图形。但光线追踪则是另一回事。通过收购前amd员工Raja Koduri,他们可能处于有利地位,成为主要的GPU威胁。
    回复
  • ingtar33
    我还以为织女星支持光线追踪呢。
    回复
  • bit_user
    21230640说:
    所以,目前的图形是基于光栅的。现在,实时光线追踪技术即将到来,图像会完全切换到这种技术,还是两者的混合?
    英伟达已经宣布了混合技术,比如基于rt的反锯齿。另外,很明显,RT可以用于某些方面,比如间接照明和反射。
    回复
  • bit_user
    21230706说:
    我还以为织女星支持光线追踪呢。
    所有gpu都可以在软件上实现,但速度不是很快(比cpu好,但对于纯光线追踪游戏来说还不够好)。

    据我们所知,Vega没有RT核心那样的硬件引擎。
    回复
  • jimmysmitty
    21230640说:
    所以,目前的图形是基于光栅的。现在,实时光线追踪技术即将到来,图像会完全切换到这种技术,还是两者的混合?

    真正有趣的是,英特尔的Larabee失败了,因为它不能很好地处理光栅图形。但光线追踪则是另一回事。通过收购前amd员工Raja Koduri,他们可能处于有利地位,成为主要的GPU威胁。

    这不是什么新鲜事。射线追踪已经存在很长一段时间了。正如你提到的,Larrabee是Ray Tracing的猛兽,但是在那个时候(大约在2008年),AMD和nVidia并没有那么厉害。这是一种计算量很大的图形处理方法。

    不过,他们早就应该把两者结合起来了。在2011/2012年DX11还是新产品的时候,他们又把它作为下一个大产品来展示了。然而正如之前所说的,AMD和nVidia仍然无法推动60FPS的光线追踪。

    很多人都在谈论射线追踪。当时也有很多议论。然而,不像以前它只是一个可能的DirectX插件,微软有一个直接绑定到它的API, DXR。nVidia已经将RTX与DXR捆绑在一起。它将如何工作,尽管,任何DX12 GPU将支持DXR,每微软。然而,他们将通过软件来实现。Titan V和nVidia的新GPU将支持RTX,这意味着它将能够通过软件和硬件实现DXR。

    我猜我们现在等着看amd对此的回答吧。他们在GPU市场上不是特别有竞争力,至少需要跟上nVidia的技术水平。
    回复
  • bit_user
    21230415说:
    然后,评级图像依赖于复杂的着色器来给场景一种深度感。在光线追踪图形中,深度是场景中不可分割的一部分,你不需要一个着色器来赋予它生命。
    光线追踪仍然可以使用各种各样的着色器。“经典”类型的着色器是一个小程序,用于评估一个物体的颜色,在其表面的一个给定点。虽然这些工作方式有些不同,但对于光线追踪器来说,程序纹理对象与使用纹理贴图仍然是合法的。

    PBR是一个替代,但不是一个我预见完全取代程序着色器。

    https://en.wikipedia.org/wiki/Physically_based_rendering
    回复
  • Giroro
    使用定制硬件和原始功率进行Ray追踪并不是一个好的解决方案,因为它并不能解决Ray追踪本质上计算成本过高的问题。
    使用光线追踪的游戏总是局限于更简单的场景,且帧速比当前的“伪装”方法要慢,这是从效率第一的角度设计的。就像无论你用多大的力气推一个重物在地面上滑动,它都不会像滚动圆筒那样快或简单。

    我们要么需要找到一种更有效的算法来计算光线,要么就需要开始发明一种全新的方法来真实地照明3D场景。
    回复
  • bit_user
    21231828说:
    使用定制硬件和原始功率进行Ray追踪并不是一个好的解决方案,因为它并不能解决Ray追踪本质上计算成本过高的问题。
    使用光线追踪的游戏总是局限于更简单的场景,且帧速比当前的“伪装”方法要慢,这是从效率第一的角度设计的。就像无论你用多大的力气推一个重物在地面上滑动,它都不会像滚动圆筒那样快或简单。
    可以把它看作是定点和浮点运算。在很长一段时间里,浮点数被降级为科学计算。最终,它变得足够便宜,可以放到大众市场的cpu中,现在它被毫不犹豫地用于许多领域(音频处理、图形等)。

    但有几处你说错了。首先,与栅格化相比,光线跟踪具有更好的场景复杂性。更重要的是,它处理现实主义比传统的光栅化技术更好。像反射、折射、景深、运动模糊、区域照明和全局照明等都可以通过光线追踪处理得更好、更自然。综上所述,这意味着当你试图实现高度的复杂性和现实性时,这实际上是最简单的方法。
    回复
  • SiggeLund
    即使在光线追踪中,你仍然在外部使用带有着色器的几何图形。
    回复