GrabPass是一个特殊的Pass,它从frame buffer抓取物体所在位置屏幕中将要绘制的内容,将其填充至一个临时的texture,以供同一个Shader中其后的Pass使用。我们现在就要用它来实现高斯模糊的毛玻璃效果。
效果:
Shader
首先我们需要声明Shader所需属性:
Properties
{
_BumpAmt("Distortion", range(0, 2)) = 1
_TintAmt("Tint Amount", Range(0,1)) = 0.1
_TintColor("Tint Color", Color) = (1, 1, 1, 1)
_MainTex("Tint Texture (RGB)", 2D) = "white" {}
_BumpMap("Normalmap", 2D) = "bump" {}
_BlurAmt("Blur", Range(0, 10)) = 1
}
- _BumpMap 和 _BumpAmt控制扭曲
- _TintColor 和 _TintAmt控制叠加颜色