Advertisement
Tiitan

uvshift

Dec 1st, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Shader "Unlit/uvshift"
  2. {
  3.     Properties
  4.     {
  5.         _MainTex ("Texture", 2D) = "white" {}
  6.         _OffsetTex ("Texture", 2D) = "black" {}
  7.         _Intensity ("Intensity", Range (0, 1)) = 0.5
  8.     }
  9.     SubShader
  10.     {
  11.         Tags { "RenderType"="Opaque" }
  12.  
  13.         Pass
  14.         {
  15.             CGPROGRAM
  16.             #pragma vertex vert
  17.             #pragma fragment frag
  18.  
  19.             #include "UnityCG.cginc"
  20.  
  21.             struct appdata
  22.             {
  23.                 float4 vertex : POSITION;
  24.                 float2 uv : TEXCOORD0;
  25.             };
  26.  
  27.             struct v2f
  28.             {
  29.                 float2 uv : TEXCOORD0;
  30.                 float2 uv2 : TEXCOORD1;
  31.                 float4 vertex : SV_POSITION;
  32.             };
  33.  
  34.             sampler2D _MainTex;
  35.             float4 _MainTex_ST;
  36.             sampler2D _OffsetTex;
  37.             float4 _OffsetTex_ST;
  38.             float _Intensity;
  39.  
  40.             v2f vert (appdata v)
  41.             {
  42.                 v2f o;
  43.                 o.vertex = UnityObjectToClipPos(v.vertex);
  44.                 o.uv = TRANSFORM_TEX(v.uv, _MainTex);
  45.                 o.uv2 = TRANSFORM_TEX(v.uv, _OffsetTex);
  46.                 UNITY_TRANSFER_FOG(o,o.vertex);
  47.                 return o;
  48.             }
  49.  
  50.             fixed4 frag (v2f i) : SV_Target
  51.             {
  52.                 float2 uv_offset = tex2D(_OffsetTex, i.uv2).yz;
  53.                 uv_offset = float2(uv_offset.x - 0.5, uv_offset.y - 0.5) * _Intensity;
  54.                 fixed4 col = tex2D(_MainTex, i.uv + uv_offset);
  55.                 return col;
  56.             }
  57.             ENDCG
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement