如果说近些年在GPU方面最大的突破是什么,那么必然是NVIDIA的RTX实时光线追踪技术。这项技术让以往我们在电源或CG上的精美画面也能出现在游戏之中,而且非常贴近现实环境,让游戏中的沉浸感大大增强。而NVIDIA创始人黄仁勋先生表示RTX实时光线追踪技术是英伟达十年铸一剑的伟大技术成果,很具有说服力。
其实,光线追踪(Ray Tracing)的概念在很早就已经被人所提出了。光线追踪技术实际上的意思就是将光源产生的光线所产生的折射,反射等光线变化和对阴影产生的反应通过计算准确的反映到画面之中,为人类带来百分之百的光影效果。
光线追踪这一技术本身并没多少的新鲜花样,其算法于1979年由Turner Whitted提出。那么为什么直到2006年,皮克斯的《Cars》才开始使用这项技术用于光线渲染呢?那主要是因为其所需要的计算量实在是过于庞大,上面提到的Turner这张512×512的渲染DEMO当时支持的计算机就要耗费上百万美元,还是花费1.2小时才渲染完成,足见其耗费的资源是如何巨大。
那么NVIDIA是如何保证这庞大的算力需求的呢?在图灵架构中,每一个SM单元里都拥有一个RT CORE,其是专门为光线追踪服务的。而要了解RT CORE的工作原理,我们第一步要了解光线追踪所运用到的算法:BVH。
BVH算法(Bounding Volume Hierarchy Traversal),层次包围盒遍历的意思。比如渲染对象是一只兔子,要计算一条光线和兔子本身的交互,就把兔子所在空间划分成N个包围盒,计算光线和哪一个包围盒相交,是的话就再把这个包围盒继续划分成N个更小的包围盒,再次计算相交,如此反复,一直找到和光线相交的三角形所在的包围盒,再对这个三角形进行最终的渲染。
BVH算法可以大幅度减少计算每一条光线最近相交点所需要遍历的三角形数量,而且只有必要进行一次就能给所有光线使用,大幅度的提升了执行效率。
而关于性能方面,由于是新技术,NVIDIA官方定义了一个光线追踪的计算方式,其单位为RTX-OPS,公式如上图所示。其中RTX 2080Ti为78T的RTX-OPS;RTX 2080则为 60T。而至于上一代的Pascal GTX 1080Ti也同样适用于这个公式,但因没有RT CORE和TENSOR CORE,数值仅为11.3T,不足以满足实时光线追踪的需求。
得到的实际效果就是随着游戏中的光线变化和事件出现一直更新的间接照明,来渲染更为逼真的动态场景,光线反射更加自然、帧数,照亮了周围的细节。如果光源移动或人物更换位置,则房间光照会与现实中一样发生明显的变化,呈现出全新光线照射下的房间效果。而关闭之后的画面则明显的是光栅化贴图,虽然也能轻松实现不错的效果,但是对比打开RTX实时光线追踪后的效果有明显的差距。
NVIDIA的RTX实时光线追踪技术是一种改变显卡发展的技术,推动了整个行业的进步,在我们传统的认知中,显卡仅仅使用光栅式贴图就足够了,只需要更快的频率、更低的发热以及出色的能耗比就足够了,但其实远远不够!
很多玩家都曾幻想过未来的游戏中拥有极为真实的画面,在游戏时让人感觉身临其境。而RTX技术的出现则实现了我们的愿望,在游戏中给与玩家们极为真实的画面,大大的增强了我们在游戏时的沉浸感。我想RTX技术,就是我们想的未来。