Advertisement
Skjalgsm

UI-TwoColor

Aug 10th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Shader "UI/TwoColor"
  2. {
  3.     Properties
  4.     {
  5.         [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  6.         _Color ("Tint", Color) = (1,1,1,1)
  7.         _Color2 ("Tint2", Color) = (1,1,1,1)
  8.        
  9.         _StencilComp ("Stencil Comparison", Float) = 8
  10.         _Stencil ("Stencil ID", Float) = 0
  11.         _StencilOp ("Stencil Operation", Float) = 0
  12.         _StencilWriteMask ("Stencil Write Mask", Float) = 255
  13.         _StencilReadMask ("Stencil Read Mask", Float) = 255
  14.  
  15.         _ColorMask ("Color Mask", Float) = 15
  16.     }
  17.  
  18.     SubShader
  19.     {
  20.         Tags
  21.         {
  22.             "Queue"="Transparent"
  23.             "IgnoreProjector"="True"
  24.             "RenderType"="Transparent"
  25.             "PreviewType"="Plane"
  26.             "CanUseSpriteAtlas"="True"
  27.         }
  28.        
  29.         Stencil
  30.         {
  31.             Ref [_Stencil]
  32.             Comp [_StencilComp]
  33.             Pass [_StencilOp]
  34.             ReadMask [_StencilReadMask]
  35.             WriteMask [_StencilWriteMask]
  36.         }
  37.  
  38.         Cull Off
  39.         Lighting Off
  40.         ZWrite Off
  41.         ZTest [unity_GUIZTestMode]
  42.         Blend SrcAlpha OneMinusSrcAlpha
  43.         ColorMask [_ColorMask]
  44.  
  45.         Pass
  46.         {
  47.         CGPROGRAM
  48.             #pragma vertex vert
  49.             #pragma fragment frag
  50.             #include "UnityCG.cginc"
  51.            
  52.             struct appdata_t
  53.             {
  54.                 float4 vertex   : POSITION;
  55.                 float4 color    : COLOR;
  56.                 float2 texcoord : TEXCOORD0;
  57.             };
  58.  
  59.             struct v2f
  60.             {
  61.                 float4 vertex   : SV_POSITION;
  62.                 fixed4 color    : COLOR;
  63.                 half2 texcoord  : TEXCOORD0;
  64.             };
  65.            
  66.             fixed4 _Color;
  67.             fixed4 _Color2;
  68.  
  69.             v2f vert(appdata_t IN)
  70.             {
  71.                 v2f OUT;
  72.                 OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex);
  73.                 OUT.texcoord = IN.texcoord;
  74. #ifdef UNITY_HALF_TEXEL_OFFSET
  75.                 OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1);
  76. #endif
  77.                 OUT.color = IN.color * _Color;
  78.                
  79.                 return OUT;
  80.             }
  81.  
  82.             sampler2D _MainTex;
  83.  
  84.             fixed4 frag(v2f IN) : SV_Target
  85.             {
  86.                 half4 color = tex2D(_MainTex, IN.texcoord);
  87.                 fixed3 col = lerp(_Color2.rgb, _Color.rgb, color.r);
  88.                 color.r = col.r;
  89.                 color.g = col.g;
  90.                 color.b = col.b;
  91.                 clip (color.a - 0.01);
  92.                 return color;
  93.             }
  94.         ENDCG
  95.         }
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement