Games104第7节记录

Games104第7节记录

四月 18, 2022

环境光遮蔽(Ambient Occasion)

在这里插入图片描述

预计算AO

采用光线追踪离线计算AO,并将结果存储到纹理中,这种方法广泛应用于物体建模过程中:

  1. 额外的仓储成本
  2. 仅适用于静态对象
    在这里插入图片描述

    屏幕空间环境遮挡

  3. 在视空间中每个像素p周围的球体中生成N个随机样本
  4. 通过比较深度与深度缓冲来测试样本闭塞
  5. 样本点的平均可见性来近似AO
    在这里插入图片描述

    SSAO+

    回想一下AO方程实际上是在法向半球上做的
    在这里插入图片描述

    HBAO Horizon-based Ambient Occlusion

    使用深度缓冲作为高度场
    在水平角以下的2D表面射线被遮挡
    在这里插入图片描述
  6. 使用深度缓冲区作为2D表面上的高度场
  7. 从水平角直接在2D和近似AO中跟踪射线
    在这里插入图片描述

    GTAO Ground Truth-based Ambient Occlusion

    GTAO引入了缺失余弦因子,消除了衰减函数,并增加了多跳的快速逼近
    在这里插入图片描述
    在这里插入图片描述

    Ray-Tracing Ambient Occlusion

    使用RTT硬件从每个屏幕像素投射光线
    1 spp(每像素样本)对远场遮挡效果很好
    用2-4 spp,可以恢复接触区域的详细闭塞
    在这里插入图片描述

    fog

    在这里插入图片描述

    high fog

    在这里插入图片描述

    Voxel-based Volumetric Fog基于体素化的雾

    在这里插入图片描述

    反走样 Anti-aliasing

    反走样的原因

    混叠是由高频信号与高频信号产生的一系列图像伪影。有限的渲染分辨率的采样不足在这里插入图片描述

    解决方案

    基于屏幕的抗锯齿方案的一般策略是使用抽样模式获得更多的样本,然后加权和样本相加产生像素颜色
    在这里插入图片描述

    Super-sample AA (SSAA) and Multi-sample AA (MSAA)

    在这里插入图片描述

    FXAA (Fast Approximate Anti-aliasing)

    基于1x渲染图像的抗锯齿.
    根据亮度找到边缘像素
    计算每个边缘像素的偏移量.
    重新采样边缘像素的偏移量与邻居混合
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Blend Nearby Pixels
    在这里插入图片描述

    TAA (Temporal Anti-aliasing)

    利用时空滤波方法提高机管局运动稳定性
    在这里插入图片描述

    Post-process

    在3D图形中,后处理是指将应用于最终图像的任何算法。这可以是出于风格上的原因(色彩校正、对比等),也可以是出于现实原因(色调映射、景深等)。
    在这里插入图片描述

    Bloom

    在这里插入图片描述

    Detect Bright Area by Threshold

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Tone Mapping

  1. 没有办法在SDR设备中直接显示HDR图像
  2. 色调映射功能的目的是将宽范围的高动态范围(HDR)颜色映射到显示器可以输出的标准动态范围(SDR)
    在这里插入图片描述

    Tone Mapping Curve

    在这里插入图片描述

    ACES

学院色彩编码系统

  1. 主要用于电影和动画
  2. 有趣的范例和转换

有用的部分

  1. 在HDR中应用颜色分级是好的
  2. 将一个固定的管道连接到最终的OTD转换阶段的想法是好的
  3. 将艺术意图与支持不同设备的机制分离开来
    在这里插入图片描述

    HDR and SDR Pipeline

    HDR / SDR之间的视觉一致性
    之前的SDR颜色管道相似的SDR结果
    高质量
    高性能
    对美术团队的干扰最小
    从当前的颜色管道简单
    过渡掌握HDR和SDR所需的额外开销最小
    在这里插入图片描述
    在这里插入图片描述

Color Grading

Lookup Table (LUT)

  1. LUT用于根据LUT中包含的数据将源像素的输入颜色值重新映射为新的输出值
  2. LUT可以被认为是一种可以应用于图像或镜头的颜色预设
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    渲染管线

    渲染管道是所有渲染操作执行和资源分配的管理顺序
    在这里插入图片描述

    Forward Rendering

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Deferred Rendering

    在这里插入图片描述

    优点

    光照只计算可见的片段
    G-Buffer的数据可以用于后处理

    缺点

    高内存和带宽成本
    不支持透明对象
    对MSAA不友好
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前进+(基于贴图的前进)渲染
深度预压(防止透支/提供瓷砖深度范围)
平铺光照剔除(输出:每个平铺的光照列表)
每个物体的阴影(PS:通过光剔除计算的光列表迭代)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

挑战

复杂的并行工作需要与复杂的资源依赖性同步
大量生命周期小于一帧的瞬态资源
复杂资源状态管理
不需要大量的用户低级知识,就可以利用新暴露的GPU特性
在这里插入图片描述
在这里插入图片描述

屏幕撕裂

在这里插入图片描述

原因

在大多数游戏中,你的GPU帧率是非常不稳定的当新的GPU帧在最后一帧的中间更新时,屏幕撕裂发生
在这里插入图片描述

解决方法

v-Sync Technology
用垂直刷新同步缓冲区交换称为V-syncV-Sync可以用来防止撕裂,但帧率降低,鼠标延迟和口吃破坏游戏
在这里插入图片描述

在这里插入图片描述