Advertisement
tonynogo

Demo 20 - Distort with grab pass

Jul 6th, 2017
6,984
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Shader "Custom/DistortingGrabPass" {
  2.     Properties {
  3.         _Intensity ("Intensity", Range(0, 50)) = 0
  4.     }
  5.     SubShader {
  6.         GrabPass { "_GrabTexture" }
  7.  
  8.         Pass {
  9.             Tags { "Queue"="Transparent" }
  10.        
  11.             CGPROGRAM
  12.             #pragma vertex vert
  13.             #pragma fragment frag
  14.             #include "UnityCG.cginc"
  15.  
  16.             struct v2f {
  17.                 half4 pos : SV_POSITION;
  18.                 half4 grabPos : TEXCOORD0;
  19.             };
  20.  
  21.             sampler2D _GrabTexture;
  22.             half _Intensity;
  23.  
  24.             v2f vert(appdata_base v) {
  25.                 v2f o;
  26.                 o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
  27.                 o.grabPos = ComputeGrabScreenPos(o.pos);
  28.                 return o;
  29.             }
  30.  
  31.             half4 frag(v2f i) : COLOR {
  32.                 i.grabPos.x += sin((_Time.y + i.grabPos.y) * _Intensity)/20;
  33.                 fixed4 color = tex2Dproj(_GrabTexture, UNITY_PROJ_COORD(i.grabPos));
  34.                 return color;
  35.             }
  36.             ENDCG
  37.         }
  38.     }
  39.     FallBack "Diffuse"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement