Advertisement
Pufferfiz

White Enable Sprite Shader

Apr 10th, 2014
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Developed by Pufferfiz and Jeff Rosenberg
  2. Shader "Sprites/White"
  3. {
  4.     Properties
  5.     {
  6.         [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  7.         _Color ("Tint", Color) = (1,1,1,1)
  8.         _AltColor ("Alt Color", Color) = (1,1,1,1)
  9.         [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
  10.         _AltColorAmount("Alt Color Amount", Range(0, 1)) = 0
  11.     }
  12.  
  13.     SubShader
  14.     {
  15.         Tags
  16.         {
  17.             "Queue"="Transparent"
  18.             "IgnoreProjector"="True"
  19.             "RenderType"="Transparent"
  20.             "PreviewType"="Plane"
  21.             "CanUseSpriteAtlas"="True"
  22.         }
  23.  
  24.         Cull Off
  25.         Lighting Off
  26.         ZWrite Off
  27.         Fog { Mode Off }
  28.         Blend SrcAlpha OneMinusSrcAlpha
  29.  
  30.         Pass
  31.         {
  32.         CGPROGRAM
  33.             #pragma vertex vert
  34.             #pragma fragment frag
  35.             #pragma multi_compile DUMMY PIXELSNAP_ON
  36.             #include "UnityCG.cginc"
  37.            
  38.             struct appdata_t
  39.             {
  40.                 float4 vertex   : POSITION;
  41.                 float4 color    : COLOR;
  42.                 float2 texcoord : TEXCOORD0;
  43.             };
  44.  
  45.             struct v2f
  46.             {
  47.                 float4 vertex   : SV_POSITION;
  48.                 fixed4 color    : COLOR;
  49.                 half2 texcoord  : TEXCOORD0;
  50.             };
  51.            
  52.             fixed4 _Color;
  53.             fixed4 _AltColor;
  54.             float _AltColorAmount;
  55.  
  56.             v2f vert(appdata_t IN)
  57.             {
  58.                 v2f OUT;
  59.                 OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex);
  60.                 OUT.texcoord = IN.texcoord;
  61.                 OUT.color = IN.color * _Color;
  62.                 #ifdef PIXELSNAP_ON
  63.                 OUT.vertex = UnityPixelSnap (OUT.vertex);
  64.                 #endif
  65.  
  66.                 return OUT;
  67.             }
  68.  
  69.             sampler2D _MainTex;
  70.  
  71.             fixed4 frag(v2f IN) : COLOR
  72.             {
  73.                 fixed4 inColor = tex2D(_MainTex, IN.texcoord) * IN.color;
  74.                 float a = inColor.a;
  75.                 fixed4 result = lerp(inColor, _AltColor, _AltColorAmount);
  76.                 result.a = a;
  77.                 return result;
  78.             }
  79.         ENDCG
  80.         }
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement