Shader "ColorBleedShader"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
[Header(Red)]
_RedX ("Offset X", Range(-0.5, 0.5)) = 0.0025
_RedY ("Offset Y", Range(-0.5, 0.5)) = 0.0
[Header(Green)]
_GreenX ("Offset X", Range(-0.5, 0.5)) = 0.0
_GreenY ("Offset Y", Range(-0.5, 0.5)) = 0.0
[Header(Blue)]
_BlueX ("Offset X", Range(-0.5, 0.5)) = -0.0025
_BlueY ("Offset Y", Range(-0.5, 0.5)) = 0.0
}
SubShader
{ Stencil
{
Ref 0
Comp Equal
}
Pass
{
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex;
float _RedX = 0.0025;
float _RedY;
float _GreenX = 0.0;
float _GreenY;
float _BlueX = -0.0025;
float _BlueY;
fixed4 frag (v2f_img i) : SV_Target
{
fixed4 col = fixed4(1, 1, 1, 0);
float2 red_uv = i.uv + float2(_RedX, _RedY);
float2 green_uv = i.uv + float2(_GreenX, _GreenY);
float2 blue_uv = i.uv + float2(_BlueX, _BlueY);
col.r = tex2D(_MainTex, red_uv).r;
col.g = tex2D(_MainTex, green_uv).g;
col.b = tex2D(_MainTex, blue_uv).b;
col.a = max(max(col.a, col.a), col.a);
return col;
}
ENDCG
}
}
}