US3S11——深度和法线纹理

目前的屏幕后处理存在的问题

屏幕后期处理效果的基本原理就是当游戏画面渲染完毕后,通过获取到该画面的信息进行额外的效果处理
之前学习的边缘检测、高斯模糊、Bloom、运动模糊等屏幕后处理效果,都是基于获取当前屏幕图像中的像素信息进行后期处理的
如果仅仅根据像素信息来进行一些效果处理,存在以下问题:

  • 效果欠佳:比如实现边缘检测时,边缘检测信息受物体纹理和光照等因素影响,无法更准确的检测边缘,会得到一些我们不需要的边缘点
  • 无法实现:比如我们想要实现一些景深效果(虚化背景) ,我们无法通过像素的颜色信息来判断离摄像机的远近

深度和法线纹理

深度和法线纹理,确切的说,指的是屏幕空间的深度纹理和法线纹理:

  • 屏幕空间深度纹理:用于存储屏幕图像中每个像素深度信息的纹理

    可以利用其中存储的每个像素的深度信息,制作出更准确的边缘检测、运动模糊、景深、环境遮挡等等效果

  • 屏幕空间法线纹理:用于存储屏幕图像中每个像素法线信息的纹理

    可以利用其中存储的每个像素的法线信息,制作出屏幕空间环境遮挡(SSAO)、基于屏幕空间的反射(SSR)、基于法线的边缘检测等等效果

它们的主要作用: 就是来实现各种视觉效果的,这些效果会利用它们存储的深度和法线信息来增强真实感和细节
这些视觉效果都是算出来的,有了更多的数据,就能进行更多不同的计算,就能展现处更好更多的效果

本系列学习内容

  • 屏幕深度和法线纹理的使用

  • 深度和法线纹理背后的原理

  • 查看深度和法线纹理

  • 效果实现

    • 利用深度纹理实现运动模糊效果

    • 实现全局雾效

      • Unity 自带全局雾效
      • 深度纹理实现全局雾效(拥有更多可自定义的效果)
    • 利用深度法线纹理实现边缘检测效果(适用于3D场景的边缘检测)