From c47b92e92cf33ae8bf2f38929e137294397e4735 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 7 Apr 2021 21:33:14 +0800 Subject: +init --- Assets/Resources/UIHsvModifier.shader | 79 +++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Assets/Resources/UIHsvModifier.shader (limited to 'Assets/Resources/UIHsvModifier.shader') diff --git a/Assets/Resources/UIHsvModifier.shader b/Assets/Resources/UIHsvModifier.shader new file mode 100644 index 0000000..445182b --- /dev/null +++ b/Assets/Resources/UIHsvModifier.shader @@ -0,0 +1,79 @@ +Shader "Hidden/UI/Default (UIHsvModifier)" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _ParamTex ("Parameter Texture", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_HSV_MODIFIER 1 + #include "UIEffect.cginc" + #include "UIEffectSprite.cginc" + + fixed4 frag(v2f IN) : COLOR + { + half4 color = tex2D(_MainTex, IN.texcoord);// + _TextureSampleAdd) * IN.color; + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + color = ApplyHsvEffect(color, IN.eParam); + + return (color + _TextureSampleAdd) * IN.color; + } + + ENDCG + } + } +} -- cgit v1.1-26-g67d0