在2018年12月20日的展示中,英伟达的Asteroids demo以一种震撼的方式揭示了图灵GPU架构的潜力,其内置的网格着色技术为场景中大量复杂对象的渲染带来了革命性的性能提升和图像质量飞跃。让我们一起通过这段视频,深入探索Asteroids demo中网格着色器的强大功能吧!
视频欣赏:
图灵架构引入了创新的基于任务和网格着色器的可编程几何着色管道,将计算编程模型的优势引入图形处理领域。与传统固定功能管道不同,图灵的管道不再逐个处理顶点,而是通过应用程序定义的规则,协作线程组在芯片上生成紧凑的网格(meshlets)。这种技术极大地增强了几何处理的可编程性,并实现了高级剔除技术、LOD(细节级别)调整,甚至是完全程序化的拓扑生成。
Asteroids通过将对象列表处理的关键性能瓶颈从CPU转移到高度并行的GPU网格着色程序,实现了惊人的帧速率。着色器能够从包含数万亿个潜在可见三角形的极大数据集中,有效剔除永远不可见的图元,仅着色对显示像素有贡献的图元。
在demo中,每个小行星模型都由10个LOD组成,最高级别的LOD包含多达600万个三角形,如图1所示。即便玩家非常靠近小行星,这种几何细节也能保持小行星的精细外观。你可以通过切换到线框模式来检查三角形网格。激活“Visualize LOD level”功能,则会根据当前的LOD绘制每个小行星的颜色,并展示网格着色器如何在不同LOD之间实现平滑过渡。最后,你可以关闭动态LOD系统,选择显示前7个LOD中的任何一个。
除了动态LOD,网格着色还引入了智能剔除系统,大幅提升了渲染效率。demo中的剔除采用层次结构进行。任务着色器检查整个小行星的可见性,并确定采用哪个LOD。接着,网格着色器测试sub-parts或meshlets。最终,GPU硬件剔除剩余的三角形。
在图灵架构出现之前,GPU必须单独剔除每个三角形,这给GPU和CPU带来了巨大的工作负担。通过结合高效的GPU剔除和LOD技术,英伟达将绘制的三角形数量减少了几个数量级,仅保留了维持极高图像保真度所需的数量。你可以在屏幕下角看到实时绘制的三角形计数器。网格着色器能够实现针对正在渲染内容的非常有效的解决方案。
demo中没有采用曲面细分,而包括数百万个粒子在内的所有对象都利用的Mesh Shading(网格着色)。英伟达建议你使用游戏手柄来控制camera,以及太空飞船的移动。demo同时支持鼠标和键盘移动。
Asteroids demo下载:点击进入