GAMES202 Lec14 工业界做法

news/2024/11/16 21:56:03/

Temporal Anti-Aliasing (TAA)

时间上的反走样。
一帧取左上角,
一帧取右上角,
一帧取右下角,
一帧取左下角,
就相当于当前帧做了四倍的超采样。

  • 为什么不随机而使用固定的样本?

因为随机会额外引入一些高频信息。

  • 如果场景运动了怎么办?

考虑场景运动的物体在上一帧的哪个像素。用motion vector。

SSAA 与 MSAA

SSAA 基于超采样,严格掉帧率的。SSAA4倍就会掉到差不多1/4帧率。
MSAA 四倍不见得会掉到1/4。
MSAA 在一个像素里有多个感知样本,同一个三角形上的多个样本只做一次shading。然后加权混合。
MSAA 允许做sample reuse,在空间上。两个像素共同边界上的点采样一次可以当作采样了两个像素上的点。

基于图像的反走样

把图像中的锯齿提取出来,然后反走样得到没有锯齿的图。

Enhanced subpixel morphological AA (SMAA)

最流行的方法。
历史:FXAA -> MLAA -> SMAA
矢量化方法。
720p 1080p 只要1ms。

G-Buffer是不能反走样的

有意义的数值不能反走样,图像可以反走样。

Temporal Super Resolution (Temporal Super Sampling)

目标:增加图像分辨率
会想到DLSS,把低分辨率的图变成高分辨率的图。
DLSS1.0:没有任何额外信息,全靠猜;那么对于每个游戏每个场景单独训练一个神经网络,这个神经网络会学习常见的物体边缘,争取把小的图拉大之后把模糊的边缘换成不模糊的边缘。
DLSS2.0:利用temporal的信息,用TAA的方法。面临的巨大问题,一旦有temporal failure就不能再用clamping来解决问题了。对temporal信息的利用要求更严格了。猜出来的像素更像周围的点,就会很糊,分辨率变大了却没有对内容的细化。

对比 双三次插值 和 DLSS2.0

双三次插值 540p->1080p:模糊
DLSS2.0 540p->1080p:和原生的1080pTAA差不多

DLSS2.0为什么可以做的这么好?
关键在于提升神经网络跑的速度,给NVIDIA的硬件做做优化,闫大作为DLSS的合作伙伴也不知道,属于最高机密。

DLSS其实AMD也有:Fidelity FX Super Resolution
DLSS其实Facebook也山寨了一个,发了篇paper:Neural Supersampling for Real-time Rendering [Xiao et al.] 更像DLSS1.0

题外话:AMD的Cpu很值,同样的性能,AMD一半价钱。

Deferred Shading 延迟渲染

延迟渲染是一种节省shading时间的方法

先从光栅化过程开始谈起,把不同的三角形打散成fragment,然后经过深度测试,通过之后做shading 写到pixel。很有可能每一个fragment都要做shading,什么情况下每个fragment都要做shading?从远的开始渲染,一直渲染到近的,这样每个fragment都会通过深度测试。
最复杂的情况下,每个fragment都要shade一遍,有多个light的话,还要对每个fragment考虑多个light。

Deferred Shading的思想:我们只去shade可见的fragment。
要把场景光栅化两次,
第一次:只光栅化得到fragment,不做shading。更新深度缓存。
第二次:这次已经存了深度测试的fragment,可以确保通过深度测试的fragment都是能够看到的fragment。

前提是,我们认为shade一次fragment开销非常大,rasterize一次场景开销非常小。

Tiled Shading 建立在Deferred Shading的基础上

节省光源的计算时间
把屏幕分成小块,每个小块32x32。把3D空间拆成一条一条的。

  • 每个小块单独做shading。
    节省每个小块要考虑的光源的数量
    前提:点光源、面光源平方衰减,导致覆盖范围很小,所以超出一定的范围可以忽略不计。可以看作每个光源覆盖的范围都是固定的球型。
    不见得所有光源都会影响到这个条,只要求相交就可以了。

Clustered Shading 建立在Tiled Shading基础上

不仅把屏幕分成若干块,还要在深度上进行切片。
把3D空间切成了网格。

  • 场景中光源的贡献是有限的,切成长条范围很大,会覆盖很多光源。但是不见得对切成的小块有贡献。

Level of Detail Solutions

类似 texture的MIPMAP
在计算的时候只要选择一个正确的level去节省计算量

  • shadowmap
    实际使用的时候会生成多种shadowmap
    近处用准确的shadowmap,远处用粗糙的shadowmap。
    近处的生成一个分辨率高,覆盖范围小的shadowmap,远处生成一个分辨率相同,但是覆盖范围大的shadowmap。
    根据物体在场景中的哪个位置,选取使用哪一张shadowmap。
    在切换shadowmap层级的时候会出现突变,在两张shadowmap重叠的部分进行混合(blend)。

  • LPV
    格子的划分,密集和稀疏

  • geometric LoD
    通过和摄像机的距离,告诉渲染管线我要渲染什么精细度的模型。
    但是按这样的方法,还是会出现突变的情况。这个就叫popping artifacts
    这种情况可以交给TAA处理,起到平滑的作用。
    这就是UE5的Nanite。
    Nanite就是动态选取detail的做法。
    根本没有用到compute shader,所以是自己写了套光栅化的管线。
    一个物体不同的部位要使用不同的层次结构,比如一座高楼,一部分离视线近一部分离视线远。

  • 虚拟纹理的实现
    对一个理论上无限大纹理的调度。用另一种几何的表示方法,几何纹理来表示几何。就可以实现LoD对几何层级的混合。

Global Illumination Solutions

先做SSR得到一个近似的GI
SSR不行的地方再用其他方案来弥补,用硬件或者软件做ray tracing。

  • 软件做ray tracing,近处物体需要高质量的SDF,远处用低质量的SDF把所有场景覆盖到。
    如果场景里有非常强的方向光源和点光源,比如手电筒(RSM)
    3D场景中分布很多个probe(探针)会记录一些irradiance,再用这些probe去照亮场景。(DDGI)

  • 硬件做ray tracing,用简化的模型去代替原始的模型
    也可以用RTRT的思路结合probe的思路(RTXGI)

  • UE5 的 Lumen的实现方案就是
    先做SSR得到一个近似的GI
    软件做ray tracing,近处物体需要高质量的SDF,远处用低质量的SDF把所有场景覆盖到。
    如果场景里有非常强的方向光源和点光源,比如手电筒(RSM)
    硬件做ray tracing,用简化的模型去代替原始的模型

需要补充的知识点

SDF贴纹理很难,怎么贴

透明物体渲染顺序怎么办

粒子渲染partical rendering

后期处理(镜头光斑,运动模糊,景深)

随机数种子和蓝噪声

凹凸不平的渲染 foveated rendering

VR应用,盯着的地方投入更多算力。

基于探针的GI

2020年 2021年最新的RTRT方法 ReSTIR 和 Neural Radiance Caching

间接光照 Many-light 理论 light cuts

Participating media 云烟雾 SSSSS 次表面散射渲染

Hair appearance


http://www.ppmy.cn/news/735663.html

相关文章

ffmpeg中的ts/mp4封装格式支持哪些编码格式

ts libavformat/mpegtsenc.c中 static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) 函数中可以看出ts支持哪些编码格式。 本文福利, 免费领取C音视频学习资料包、技术视频,内容包括(音视频开发,面试题&…

手摸手教你使用srs服务搭建毫秒级延时直播

之所以要搭建一个在公网环境下一对一毫秒级延时的直播, 就是为了做一个不限遥控距离的小车, 使用安卓手机基于aoa协议4g/5g实现, 理论上只要电池有电(可采用太阳能方案)和有4g/5g信号的地方, 坐在屋里可以遥控着小车满世界的跑...不好意思跑题了, 进入正题. srs服务之强大我不废…

(新)最新抖音无水印解析原理再分析过程,柳暗花明又一村

问题越是百思不得其解的时候,往往答案就越是近在眼前 在这里将这个软件免费分享给大家 传送门 之前的文章最新抖音视频无水印解析接口及原理中提到的方法,利用了抖音detail接口,被频率限制,已经作古。最近通过分析,发…

主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)

直播业务概述 大家所熟知的直播平台虎牙、斗鱼、快手、抖音、B站,直播功能看似普遍,但从零到一开发却不简单。直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技术&…

业界首家720p/1080p移动端实时超分,打造抖音极致画质体验

前言 2021年5月,字节跳动智能创作团队精心打磨的移动端实时视频超分技术上线,并在抖音、头条、西瓜等多个业务场景大规模落地。该超分技术在性能和功耗维度取得了巨大突破,通过极致的高性能优化和算法改良设计,跨越超分算法极高的…

如何实现低延时直播——支持多终端H5播放的超低延时直播方案

【摘要】 随着互联网视频应用的普及,各行各业对直播的应用需求越来越多,作为一名流媒体行业的从业者,本人亲眼目睹了视频行业的发展轨迹。 当前,全球遭受新冠疫情的冲击,导致视频通信的需求量大增,视频直…

RTC 技术的试金石:火山引擎视频会议场景技术实践

视频会议场景一直被认为是 RTC 最具挑战性的场景,一方面,它对抗弱网、低端机适配、降噪、多人上麦等都有极高的要求,对 Web 端的要求也远高于其他场景;另一方面,有很多孵化自会议场景的技术能力最终都被复制到了其他场…

最新抖音视频无水印解析接口及原理

1.无水印解析原理 用户将抖音视频分享给另外一个人的时候,可以直接复制链接。用户将得到一个类似下面的短链接 https://v.douyin.com/Du2M7R如果你对这方面有兴趣,可以和我们一群程序员交流学习,共同进步 695623459用户将短链口令复制&…