当前位置:首页电脑电脑资讯连GTX 1060都支持了光线追踪:NV是如何做到的?

连GTX 1060都支持了光线追踪:NV是如何做到的?

百事数码
2019-04-12 14:28 0

本文经爱活网授权转载,其它媒体转载请经爱活网同意

就在刚刚,随着新一轮驱动更新,GeForce GTX 1060 6GB以上的帕斯卡架构显卡正式加入光线追踪技术阵营。这意味着拥有GeForce GTX 1060 6GB以上显卡的小伙伴不用升级到GeForce RTX 20系列显卡,也可以开启一定的光线追踪效果。

但RTX 20系列与GTX 10系列之间在物理结构上存在着巨大差距,其中之一便是采用图灵架构的RTX 20系列显卡拥有RT Core加速光线追踪。那么GTX 10系列是如何实现光线追踪?能实现到什么程度?本文将会进行解答。

加了实时光线追踪效果的《雷神之锤II》DXR的野望早在去年GDC游戏开发者峰会上,微软宣布将DirectX Raytracing融入DirectX 12中,也就是我们常说的DX12 DXR。从那一刻开始,光线追踪从传统的离线渲染转入实时渲染变成了可能。

如今微软DirectX API遵循一套机制,就是将软件、游戏层面与硬件隔离,也就是说游戏本身实际上不知道自己跑在什么硬件上,它们只需要遵守微软DirectX的规则,就能调用新特效。这也是为什么新推出的3A大作通常只支持Windows 10系统,很大原因在于DirectX 12完全体仅能在Windows 10上运行。虽然近期微软博客有放出风声会反向移植DX12到Windows 7以支持《魔兽世界》更新,但仅是个例,不会影响主流3A游戏在Windows 10上运行的格局。

游戏们不需要知道使用了什么硬件,那么任何显卡支持光线追踪在理论上都是有可能的。但当视角换成硬件与DirectX API之间,却没有这么简单。微软DXR虽然没有明确硬件应该如何运作,但指明了硬件应该具备哪些特性,并允许厂商将函数功能以黑盒子硬件的方式实现,这套做法让GPU厂商有了使用自己方式实现功能的可能性。

在DXR下,光线追踪提供了两种执行方案,分别是Compute-base Path和DXR API Path。顾名思义,Compute-base Path是在DXR框架下使用通用计算单元来进行光线追踪。GeForce GTX 10系列就是利用这一套方式。

另外一套执行方案DXR API Path,则是使用DXR框架的硬件加速电路在GPU上执行光线追踪,在GeForce RTX 20系列上,这套硬件加速电路就是RT Core。

无论哪一套执行方式,都会把光线追踪拆分成三个动作,分别是:射线的生成,找出射线与场景物体交汇点的求交测试,以及对交汇点进行着色计算。其中,第二步求交测试是最耗时的操作,对于简单场景来说,75%的耗时都花费在了光线和场景物体的求交计算上,在更复杂的场景中,这类操作的耗时会高达95%,求交计算的耗时与场景中涉及的物体数量直接相关。

这套技术最终回归到了玩家们都很清楚的道理:游戏场景越复杂,光线追踪操作越多,帧数越低。

因此如果要没有RT Core加速的GeForce GTX 10系列实现光线追踪,靠着色器硬抗不会有好结果。这时候,一套光线追踪的分类方案就此诞生了。

光线追踪的5套方案将光线追踪实现质量分级其实不太确切,事实上在接下来提到的5套光线运行模式中包含了对不同元素的取舍,并且可以相互叠加,最终实现不同效果的光线追踪效果。

反射Reflections

通过实时光线追踪完成对光源的单次反射,光线主要涉及到物体表面。全局BVH都会有所响应,以换取较为逼真的光照效果。根据不同材质,算法上也会进行压缩,以换取性能。

多说一句,BVH(Bounding Volume Hierarchy包围盒层级)是实时光线追踪技术采用的加速结构,简单的说对物体进行逐一分类,并不断层层递进,最后具体到每一需要处理的三角形。

其实在离线渲染时代,开发者会建立一套镜面模型,以实现单次反射效果,只不过相对实时光线追踪会不太自然。

二次反射Advanced Reflections

真实世界中的自然光线是存在折射、反射和漫反射的。这也是实时光线追踪要追求的真正效果。这是所有显卡噩梦的开始,它不但包含全局BVH响应,每一个三角形之间还会考虑到折射、反射的效果。

从实际的游戏和Demo证明,如果没有RT Core运算,和Tensor Core进行DLSS加速,大多数显卡流畅度难以得到保证。

全局光照Global Illumination

自然世界中,材质不同所产生的反射,漫反射效果也不会只有一个方向。全局光照将会体现出一道光源照射到物体后反射、折射、焦散等自然光效。配合二次光效,就是大多数显卡噩梦中的噩梦。

阴影Shadows

由于光线漫反射,阴影也不可能只有一种亮度,它会考虑到数个光源以及光源类别,执行全局BVH。

环境光遮蔽Ambient Occlusion

实时光线追踪技术中的环境光遮蔽会考虑到数个光源,以及局部BVH,主要目的仍然是改善场景中物体漏光、阴影不切实际等效果,并使得画面更有层次感。

上述的5套方案之间可以单一选择,也可以相互叠加,取决于游戏对光源和特效的选择方案,叠加越多,实现效果也解决自然。相反,屏蔽掉一定效果,让GeForce GTX 10系列显卡吃到实时光线追踪的甜头,也能让实时光线追踪技术有机会普及到更多游戏中。

当然对于绝大多数玩家而言,将游戏画质设置交给GeForce Experience调整,免费获得相对真实的自然光照效果,无论怎么算都不会吃亏。

为你推荐
热门文章
意见反馈
返回顶部