1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- Shader "Hidden/2D-Animation-SpriteEdgeOutline"
- {
- Properties
- {
- _OutlineColor("Outline Color", Color) = (1,0,1,1)
- }
- SubShader
- {
- Tags
- {
- "Queue" = "Transparent"
- "IgnoreProjector" = "True"
- "RenderType" = "Transparent"
- }
- Cull Off
- Lighting Off
- ZTest Less
- Blend SrcAlpha OneMinusSrcAlpha
-
- Pass
- {
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #include "UnityCG.cginc"
- struct appdata_t
- {
- float4 vertex : POSITION;
- };
- struct v2f
- {
- float4 vertex : SV_POSITION;
- float2 clipUV : TEXCOORD1;
- };
- uniform float4x4 unity_GUIClipTextureMatrix;
- sampler2D _GUIClipTexture;
- uniform bool _AdjustLinearForGamma;
-
- v2f vert(appdata_t IN)
- {
- v2f OUT;
- OUT.vertex = UnityObjectToClipPos(IN.vertex);
- float3 eyePos = UnityObjectToViewPos(IN.vertex);
- OUT.clipUV = mul(unity_GUIClipTextureMatrix, float4(eyePos.xy, 0, 1.0));
- return OUT;
- }
-
- fixed4 _OutlineColor;
- fixed4 frag(v2f i) : SV_Target
- {
- if (tex2D(_GUIClipTexture, i.clipUV).a == 0)
- discard;
- float4 c = _OutlineColor;
- if (_AdjustLinearForGamma)
- c.rgb = LinearToGammaSpace(c.rgb);
- return c;
- }
- ENDCG
- }
- }
- }
|