diff options
Diffstat (limited to 'Assets/Resources/UITtransition.shader')
-rw-r--r-- | Assets/Resources/UITtransition.shader | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Assets/Resources/UITtransition.shader b/Assets/Resources/UITtransition.shader new file mode 100644 index 0000000..d7c168e --- /dev/null +++ b/Assets/Resources/UITtransition.shader @@ -0,0 +1,87 @@ +Shader "Hidden/UI/Default (UITransition)" +{ + 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 + + [Header(Transition)] + _TransitionTex ("Transition Texture (A)", 2D) = "white" {} + _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 + { + Name "Default" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #define REVERSE 1 + #define ADD 1 + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma multi_compile __ FADE CUTOFF DISSOLVE + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_TRANSITION 1 + #include "UIEffect.cginc" + #include "UIEffectSprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd); + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + color = ApplyTransitionEffect(color, IN.eParam) * IN.color; + + #if UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} |