后处理是在最后阶段对像素的直接处理,需要能够获得选然后的图像信息。Unity API提供了这个方法供我们使用。

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnRenderImage.html

先写个脚本来满足获取信息的需求。这里考虑到凡是后处理效果都需要进行一些必要的检查,检查目前的效果是否被当前设备支持,所以对这些操作写在一个基类里面方便复用。

这里实现一个相对简单的基类。

基本上迁至检测需要考虑的有:

  1. 是否支持DX11
  2. 是否支持HDR贴图
  3. 是否支持深度贴图
  4. 当前的shader状态
  5. 当前的material状态

具体的方法都卸载了源码的注释中。https://github.com/muchenhen/MyUnityShaders/tree/master/Assets/PostEffects