UIHsvModifier.shader 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. Shader "Hidden/UI/Default (UIHsvModifier)"
  2. {
  3. Properties
  4. {
  5. [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {}
  6. _Color ("Tint", Color) = (1,1,1,1)
  7. _StencilComp ("Stencil Comparison", Float) = 8
  8. _Stencil ("Stencil ID", Float) = 0
  9. _StencilOp ("Stencil Operation", Float) = 0
  10. _StencilWriteMask ("Stencil Write Mask", Float) = 255
  11. _StencilReadMask ("Stencil Read Mask", Float) = 255
  12. _ColorMask ("Color Mask", Float) = 15
  13. [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
  14. _ParamTex ("Parameter Texture", 2D) = "white" {}
  15. }
  16. SubShader
  17. {
  18. Tags
  19. {
  20. "Queue"="Transparent"
  21. "IgnoreProjector"="True"
  22. "RenderType"="Transparent"
  23. "PreviewType"="Plane"
  24. "CanUseSpriteAtlas"="True"
  25. }
  26. Stencil
  27. {
  28. Ref [_Stencil]
  29. Comp [_StencilComp]
  30. Pass [_StencilOp]
  31. ReadMask [_StencilReadMask]
  32. WriteMask [_StencilWriteMask]
  33. }
  34. Cull Off
  35. Lighting Off
  36. ZWrite Off
  37. ZTest [unity_GUIZTestMode]
  38. Blend SrcAlpha OneMinusSrcAlpha
  39. ColorMask [_ColorMask]
  40. Pass
  41. {
  42. CGPROGRAM
  43. #pragma vertex vert
  44. #pragma fragment frag
  45. #pragma multi_compile __ UNITY_UI_ALPHACLIP
  46. #include "UnityCG.cginc"
  47. #include "UnityUI.cginc"
  48. #define UI_HSV_MODIFIER 1
  49. #include "UIEffect.cginc"
  50. #include "UIEffectSprite.cginc"
  51. fixed4 frag(v2f IN) : COLOR
  52. {
  53. half4 color = tex2D(_MainTex, IN.texcoord);// + _TextureSampleAdd) * IN.color;
  54. color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
  55. #ifdef UNITY_UI_ALPHACLIP
  56. clip (color.a - 0.001);
  57. #endif
  58. color = ApplyHsvEffect(color, IN.eParam);
  59. return (color + _TextureSampleAdd) * IN.color;
  60. }
  61. ENDCG
  62. }
  63. }
  64. }