[Games104笔记] 游戏中的渲染管线,后处理

文章目录

      • 环境光遮蔽算法及效果
      • AO 环境遮挡
        • Precomputed AO
        • SSAO
          • SSAO+
        • HBAO-基于地平线的环境遮挡
        • GTAO
        • RTAO
      • Fog
      • 反走样
        • 古老的方法: SSAA 超采样,多采样
        • 较主流,实用且快:FXAA
        • 较主流,TAA
      • ※后处理
        • Boom
        • Tone Mapping,调亮度
          • 多项式拟合派系
          • "降维打击派系" ——ACES
        • Color Grading,调颜色,简单实用,性价比高

环境光遮蔽算法及效果

★>>>Ambient Occlusion: An Extensive Guide on Its Algorithms and Use in VR — ARVI VR (arvilab.com)

翻译:

什么是环境光遮蔽?都有哪些算法?又为何对AR/VR非常重要?

>>>The Dark Side Of Ray-Traced Ambient Occlusion (RTAO) | TheGamedev.Guru

AO 环境遮挡

[Games104笔记] 游戏中的渲染管线,后处理_第1张图片

Precomputed AO

预计算环境遮挡

[Games104笔记] 游戏中的渲染管线,后处理_第2张图片

SSAO

Screen Space Ambient Occlusion
屏幕空间环境遮挡

立体空间采样的思想可取,用的人并不多

[Games104笔记] 游戏中的渲染管线,后处理_第3张图片

>>>ssao - 搜狗百科 (sogou.com)

SSAO通过采样象素周围的信息,利用“逐象素场景深度计算”技术计算得出的深度值直接参与运算。

效果确实错误还比较大,应该先进行简单的空间划分(或类似处理)然后计算。

不过这种方法只是近似地模拟,效果并不正确,但确实能增强场景的层次感,让画面更细腻,让场景细节更加明显。

不同于显卡驱动中普通的AO选项,burnout的SSAO是全动态的,无需预处理,无loading时间,无需消耗内存,不使用CPU,全由GPU处理,对GPU有较大的消耗

SSAO默认是关闭的,可以在游戏视频选项中打开。

SSAO比起185.20驱动中AO的优点:

  • 与场景复杂性无关
  • 无数据预处理,无loading时间,无系统内存分配
  • 动态渲染
  • 每个像素工作方式始终一致
  • 无CPU占用,完全通过GPU执行
  • 与流行显卡的管线整合相当容易

缺点也是有的:

  • 由于采样全部在可见点上进行的,对于不可见点的遮挡影响会有错误的估算。
  • 颗粒感比较重,需要与动态模糊紧密配合才能取得较好效果。
SSAO+

[Games104笔记] 游戏中的渲染管线,后处理_第4张图片

HBAO-基于地平线的环境遮挡

Horizon-based Ambient Occlusion.

原理:

HBAO使用一种基于物理的算法,用深度缓冲器采样来逼近一个积分。有一个特定的表面,其中的角度被测量,检查多少光线会被遮挡,不仅要考虑深度,还要考虑表面的法线与世界(地平线)的关系方向。

HBAO在运作模式上与SSAO有什么区别呢?首先HBAO规定了一个半径为R的空间范围,对于范围外的空间不做渲染;此外对于一些低精度模型,遮蔽会导致错误的产生。

[Games104笔记] 游戏中的渲染管线,后处理_第5张图片
[Games104笔记] 游戏中的渲染管线,后处理_第6张图片

>>>HBAO(屏幕空间的环境光遮蔽) - 知乎 (zhihu.com)

GTAO

GTAO - Ground Truth-based Ambient Occlusion 基于地面真实的环境遮挡

GTAO引入了丢失的余弦因子,消除了衰减函数,并增加了多重反射的快速逼近

[Games104笔记] 游戏中的渲染管线,后处理_第7张图片
[Games104笔记] 游戏中的渲染管线,后处理_第8张图片

>>>Unreal 【UE4】 GTAO - 游戏编程 ️ (233tw.com)

RTAO

Ray-Tracing Ambient Occlusion 光线追踪环境遮挡

[Games104笔记] 游戏中的渲染管线,后处理_第9张图片

Fog

[Games104笔记] 游戏中的渲染管线,后处理_第10张图片
[Games104笔记] 游戏中的渲染管线,后处理_第11张图片

视锥

[Games104笔记] 游戏中的渲染管线,后处理_第12张图片

反走样

anti-aliasing

由高频信号和有限的渲染分辨率的不充分采样引起的一系列渲染假象

[Games104笔记] 游戏中的渲染管线,后处理_第13张图片
[Games104笔记] 游戏中的渲染管线,后处理_第14张图片

古老的方法: SSAA 超采样,多采样

[Games104笔记] 游戏中的渲染管线,后处理_第15张图片

较主流,实用且快:FXAA

  • 通过亮度找到边缘像素
  • 计算每个边缘像素的偏移量
  • 通过偏移量重新采样边缘像素,使其与邻居混合

[Games104笔记] 游戏中的渲染管线,后处理_第16张图片

横竖卷积一下, 比较上下&左右哪个差异大一点

[Games104笔记] 游戏中的渲染管线,后处理_第17张图片

找到边的两个端点

[Games104笔记] 游戏中的渲染管线,后处理_第18张图片

原理是相似三角形,

比较左右端的长度, 来决定自己影响多一点还是受别人影响多一点

[Games104笔记] 游戏中的渲染管线,后处理_第19张图片

每个点找自己的edge, 效果很棒

[Games104笔记] 游戏中的渲染管线,后处理_第20张图片
[Games104笔记] 游戏中的渲染管线,后处理_第21张图片

较主流,TAA

不需要在空间上做过多的采样, 而是在时间轴上找数据

[Games104笔记] 游戏中的渲染管线,后处理_第22张图片

根据xyz方向进行rgb编码计算当前帧的和过去帧的权重(运动的物体话依赖当前帧多一些,比较静止的依赖过去帧多一些)

[Games104笔记] 游戏中的渲染管线,后处理_第23张图片

TAA做的不好会有残影

※后处理

应用于最终图像的任何算法。它可以出于色彩校正、对比等原因或现实原因(色调映射、视场深度等)

步骤:

[Games104笔记] 游戏中的渲染管线,后处理_第24张图片

Boom


[Games104笔记] 游戏中的渲染管线,后处理_第25张图片

取出高光(超过设定的阈值)

[Games104笔记] 游戏中的渲染管线,后处理_第26张图片

高斯卷积, 不够大

[Games104笔记] 游戏中的渲染管线,后处理_第27张图片
[Games104笔记] 游戏中的渲染管线,后处理_第28张图片

Tone Mapping,调亮度

解决暗处过暗|亮处过亮 以及色偏

映射为0~1之间的值

[Games104笔记] 游戏中的渲染管线,后处理_第29张图片

多项式拟合派系

[Games104笔记] 游戏中的渲染管线,后处理_第30张图片

“降维打击派系” ——ACES

美国电影艺术与科学学会之作

适应于各种显示设备

[Games104笔记] 游戏中的渲染管线,后处理_第31张图片
[Games104笔记] 游戏中的渲染管线,后处理_第32张图片

>>>Tone mapping进化论 - 知乎 (zhihu.com)

Color Grading,调颜色,简单实用,性价比高

原始颜色与变化后的映射

[Games104笔记] 游戏中的渲染管线,后处理_第33张图片
[Games104笔记] 游戏中的渲染管线,后处理_第34张图片

对于美工很友好

[Games104笔记] 游戏中的渲染管线,后处理_第35张图片

性价比高

[Games104笔记] 游戏中的渲染管线,后处理_第36张图片

你可能感兴趣的:(GAMES系列,图形渲染,游戏引擎)