#1 什么是图灵显卡? 第一代图灵显卡是由NVIDIA 在2018年发布的,Quadro系列的全新架构模式。最重要的突破就是内置了全新的RT Core(光线追踪核心)。
GeForce RTX的20XX系列,也是首次支持光线追踪的显卡系列。 图灵的架构不但支持了新的光追管线,“顺便”还延伸了一个新的管线叫 Mesh Shading。 也就是这次UE5能够支持超多三角面的底层原理。

#2 图灵显卡上的mesh shader 最早的渲染管线属于硬件管线,随着软硬件的发展变为可编程管线。这个阶段我们听到的最多的就是VS和PS即顶点着色器和像素着色器。 但这不是可编程管线的全部,随着硬件和画质需求的不断增强,还有诸如曲面、几何着色器等流程加入可编程管线中。 流程越多越固话,表示要重复处理的东西就越多。因此NVIDIA 启用了新的Mesh Shading 管线,将光栅化阶段前的阶段整合为两个,task 和 mesh。 对比一下两个管线,可以发现光栅化之前的流程都重做了,而光栅化之后的可以复用。 Task着色器: 一种可编程单元,在工作组中运行,允许每个工作组发起(或不发起)Mesh 着色器的工作组。 Mesh着色器: 一种可编程单元,在工作组中运行,允许每个工作组生成primitives(图元)。 Task和Mesh着色器都使用了内部的协作线程模型,输入和输出都可以是用户自定义的。 任务和网格着色器还遵循compute shaders 的原则,它有两个好处: 第一,所有的协作线程都可以自义定的编程以用作不同的目的,并且他们之间的数据可以共享。 第二,因为所有流程在同一个管线中,硬件可以直接管理各阶段之间的内存传递和芯片上的存储。 通过Task着色器进行的可选扩展,允许更早的剔除一组图元或预先制定LOD决策。该机制是在GPU上扩展,因此正在取代实例化或间接的针对小网格物体进行的多绘制。


一个Task工作组可以发起多少个Mesh工作组是有限制的,第一代硬件支持每个Task最多可以生成64K个子任务。但在同一个draw调用中,跨所有任务的mesh子节点的总数没有限制。
Mesh着色器的一个重要目标就是要尽可能多的去利用公共数据,通过数据结构优化之后能增加每个mesh所计算的数量和内容。在同样的总吞吐量的前提下,单个mesh开销越小,能并发的工作组就越多。
这也是官方提到的meshlet的核心功能。 https://devblogs.nvidia.com/wp-content/uploads/2018/09/meshlets_motivation.png
devblogs.nvidia.com
本文详细介绍了NVIDIA图灵显卡的架构特点,尤其是其创新的Mesh Shading管线,该技术通过Task和Mesh着色器优化了渲染流程,实现了更高的效率和灵活性,适用于超多三角面的场景,是UE5支持高细节画面的基础。
1168

被折叠的 条评论
为什么被折叠?



