本文是在计算机图形学期末考察的背景下,通过一周的调查并按个人理解整理得出的。虽说文章也是总结的精华,但个人以为还颇有粗糙之处(如有错误欢迎指正)。在此,笔者把参考资源放于文章之前——相比于本文,参考资料在学术上更准确,内容深刻,表达得体;另一方面也是希望大家优先从参考资料下手,从中得出自己的思考,再来笑看这篇多方借鉴的总结。
Reference
- 如果想要入门或者快速了解一下可以先看B站的科普视频,可以大致了解DLSS是什么,为什么,怎么做。看完视频方便你进一步提出问题,查找资料。
- NVIDIA官网介绍:NVIDIA:DLSS 2.0
此外,NVIDA还在GTC上给出了相应的Talk,其中介绍了DLSS 2.0、针对于游戏的图像超分辨率的挑战以及DLSS 2.0引擎集成:NVIDA’s Talk:GTC 2020: DLSS 2.0 - Image Reconstruction for Real-time Rendering with Deep Learning(这是油管上面的,英语听力ok的可以直接冲,英语不太行的可以开中文字母。好像b站也上线了,但还没点进去过,不知道有没有翻译)本文有关于DLSS 2.0的介绍大抵上也出自这个Talk. - 同时,DLSS团队成员文刀秋二也是这个Talk的汇报人在知乎上也对Talk进行了总结,详见:DLSS 2.0 - 基于深度学习的实时渲染图像重建
- Beyond3D: Diving into Anti-Aliasing个人觉得是很全面很有逻辑的抗锯齿的介绍。有需要的朋友可以自取!
- 书籍:Real time rendering 在实时渲染和计算机图形学领域,《Real-Time Rendering》这本书一直备受推崇。有人说,它实时渲染的圣经。也有人说,它是绝世武功的目录。这次调查主要阅读了本书关于抗锯齿方面的介绍。如有机会可以进军相关领域,还是很期待可以把这本书读一下的。当然毛星云也在CSDN上发布了这本书第三版提炼总结的专栏:【《Real-Time Rendering 3rd》提炼总结】,两者可以配合食用。
- 一篇2021年7月的期刊:An overview of current deep learned rendering technologies 着重讨论实时渲染和深度学习渲染。其中介绍了实时渲染技术中的抗锯齿和超分辨率,深度学习渲染技术中的DLSS和NSS模型,并且介绍了DLSR技术面临的挑战。本文的思路也从这篇期刊而来。
实时渲染技术和DLSS 2.0技术
一、前言
通俗讲,渲染(Render)是处理器将需要计算的画面信息,计算并“绘制”在显示屏幕上的过程。随着显示技术的进步,渲染技术也慢慢地出现了两条主流分支:一种用于视频游戏技术,另一种则是用于影视技术。这两类需求对应的渲染技术分别为:实时渲染与离线渲染。
实时渲染(Real-time rendering)指的是在计算机上快速生成图像。它是计算机图形学中最具交互性的领域。首先一幅图像显示在屏幕上,然后观察者做出动作与反应,并且其动作反馈会影响接下来的生成内容。由于这种反馈、渲染的循环速度足够快,观察者就不会只看到独立的图像,而是会沉浸在这种动态过程中。
由于追求高分辨率和高帧率的真实性体验,RTR技术难度呈指数型上升。显示设备的更新换代以及物理着色、光线追踪、精确物理引擎、更高质量的纹理模型的实现使最新一代 GPU 也难以在不影响帧率的情况下以原始分辨率渲染图像。此时,低分辨率的性能开销实现高分辨率的画面成为大势所趋。

借助于深度学习超采样(DLSS),NVIDIA推出DLSS 2.0。其实现了通过渲染更少的像素,使用 AI 构建清晰、分辨率更高的图像。 DLSS2.0由GeForce RTX GPU上的专用 AI 处理器Tensor Cores 提供支持,是一种经过改进的全新深度学习神经网络,可在生成精美、清晰的游戏图像的同时提高帧速。它为游戏玩家提供了最大化光线追踪设置和提高输出分辨率的性能空间。

本文旨在介绍实时渲染图像重建技术部分基础,同时着重于讨论新兴的基于深度学习的实时渲染重建DLSS 2.0。文章结构如下:第二部分讨论了实时渲染重建技术基础,包括抗锯齿和超分辨率采样两个方向;第三部分着重讨论DLSS 2.0技术的理论、工作原理和实现效果;第四部分分析DLSS 2.0的优点和缺点,并讨论了DLSR技术面临的挑战和展望。
二、实时渲染图像重建技术基础
(一)抗锯齿技术
Aliasing (锯齿)这个术语最早出现在信号处理这门学科中,指的是当一个连续信号被采样后和其他非一致信号混淆的现象。在3D渲染中,这个术语有着更特殊的意思——它涵盖了所有3D渲染光栅化后产生的画面瑕疵。3D场景渲染在光栅化之前是连续信号,但在进行像素渲染(对每个像素生成相应的色彩值)的时候就不得不对连续信号进行采样以获得能够输出到显示器的结果。反锯齿的目标就在于让最终输出的画面和原生场景尽可能接近,修复渲染瑕疵。
所有的渲染失真都可以归因于采样问题(用有限的像素展示无限的细节),使用哪种反锯齿手段与锯齿成因息息相关。因此,为了探讨不同反锯齿手段的优势和劣势,我们先将3D渲染的瑕疵根据其成因简单归纳为6个类别:几何失真、透明失真、子像素失真、纹理失真、渲染失真、闪烁情形(时间性锯齿)。

现如今