UIPureColor.shader 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. Shader "UI/UIPureColor"
  2. {
  3. Properties
  4. {
  5. [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
  6. _Color("Tint", Color) = (1,1,1,1)
  7. //MASK SUPPORT ADD
  8. _StencilComp("Stencil Comparison", Float) = 8
  9. _Stencil("Stencil ID", Float) = 0
  10. _StencilOp("Stencil Operation", Float) = 0
  11. _StencilWriteMask("Stencil Write Mask", Float) = 255
  12. _StencilReadMask("Stencil Read Mask", Float) = 255
  13. _ColorMask("Color Mask", Float) = 15
  14. }
  15. SubShader
  16. {
  17. Tags { "QUEUE" = "Transparent" "IGNOREPROJECTOR" = "true" "RenderType" = "Transparent" "PreviewType" = "Plane" "CanUseSpriteAtlas" = "true" }
  18. ZTest[unity_GUIZTestMode]
  19. Cull Off
  20. Lighting Off
  21. ZWrite Off
  22. Blend One OneMinusSrcAlpha
  23. //MASK SUPPORT ADD
  24. Stencil
  25. {
  26. Ref[_Stencil]
  27. Comp[_StencilComp]
  28. Pass[_StencilOp]
  29. ReadMask[_StencilReadMask]
  30. WriteMask[_StencilWriteMask]
  31. }
  32. ColorMask[_ColorMask]
  33. Pass
  34. {
  35. CGPROGRAM
  36. #pragma vertex vert
  37. #pragma fragment frag
  38. #include "UnityCG.cginc"
  39. struct appdata
  40. {
  41. float4 vertex : POSITION;
  42. float2 uv : TEXCOORD0;
  43. };
  44. struct v2f
  45. {
  46. float2 uv : TEXCOORD0;
  47. float4 vertex : SV_POSITION;
  48. };
  49. fixed4 _Color;
  50. v2f vert (appdata v)
  51. {
  52. v2f o;
  53. o.vertex = UnityObjectToClipPos(v.vertex);
  54. o.uv = v.uv;
  55. return o;
  56. }
  57. sampler2D _MainTex;
  58. fixed4 frag (v2f i) : SV_Target
  59. {
  60. fixed4 col = tex2D(_MainTex, i.uv) * _Color;
  61. // just invert the colors
  62. //col.rgb = 1 - col.rgb;
  63. return col;
  64. }
  65. ENDCG
  66. }
  67. }
  68. }