diff options
Diffstat (limited to 'Assets/Test/04_Graphic/UI04_Test.shader')
-rw-r--r-- | Assets/Test/04_Graphic/UI04_Test.shader | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/Assets/Test/04_Graphic/UI04_Test.shader b/Assets/Test/04_Graphic/UI04_Test.shader new file mode 100644 index 0000000..976cd42 --- /dev/null +++ b/Assets/Test/04_Graphic/UI04_Test.shader @@ -0,0 +1,95 @@ +Shader "Custom/UV1Sample" { + Properties + { + [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} + _SubTex("SubTexture", 2D) = "white"{} + _Size("Size", Float) = 0.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 + } + + 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] + Fog { Mode Off } + Blend One Zero + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + half2 texcoord1 : TEXCOORD1; // new! + }; + + struct v2f + { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + half2 uv1 : TEXCOORD0; + half2 uv2 : TEXCOORD1; // new! + }; + + v2f vert(appdata_t IN) + { + v2f OUT; + OUT.vertex = UnityObjectToClipPos(IN.vertex); + OUT.uv1 = IN.texcoord; + OUT.uv2 = IN.texcoord1; // new! +#ifdef UNITY_HALF_TEXEL_OFFSET + OUT.vertex.xy -= (_ScreenParams.zw-1.0); +#endif + OUT.color = IN.color; + return OUT; + } + + sampler2D _MainTex; + sampler2D _SubTex; + float _Size; + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = tex2D(_MainTex, IN.uv1) * IN.color; + color.a = tex2D(_SubTex, IN.uv2 * _Size).a; // new! + clip (color.a - 0.01); + return color; + } + ENDCG + } + } +}
\ No newline at end of file |