| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | Shader "TextMeshPro/Sprite"{	Properties	{        [PerRendererData] _MainTex ("Sprite 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				_CullMode ("Cull Mode", Float) = 0		_ColorMask ("Color Mask", Float) = 15		_ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)		[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0	}	SubShader	{		Tags		{ 			"Queue"="Transparent" 			"IgnoreProjector"="True" 			"RenderType"="Transparent" 			"PreviewType"="Plane"			"CanUseSpriteAtlas"="True"		}				Stencil		{			Ref [_Stencil]			Comp [_StencilComp]			Pass [_StencilOp] 			ReadMask [_StencilReadMask]			WriteMask [_StencilWriteMask]		}		Cull [_CullMode]		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			#include "UnityCG.cginc"			#include "UnityUI.cginc"            #pragma multi_compile __ UNITY_UI_CLIP_RECT            #pragma multi_compile __ UNITY_UI_ALPHACLIP						struct appdata_t			{				float4 vertex   : POSITION;				float4 color    : COLOR;				float2 texcoord : TEXCOORD0;                UNITY_VERTEX_INPUT_INSTANCE_ID			};			struct v2f			{				float4 vertex   : SV_POSITION;				fixed4 color    : COLOR;                float2 texcoord  : TEXCOORD0;				float4 worldPosition : TEXCOORD1;                UNITY_VERTEX_OUTPUT_STEREO			};			            sampler2D _MainTex;			fixed4 _Color;			fixed4 _TextureSampleAdd;			float4 _ClipRect;            float4 _MainTex_ST;            v2f vert(appdata_t v)			{				v2f OUT;                UNITY_SETUP_INSTANCE_ID(v);                UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);                OUT.worldPosition = v.vertex;				OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);                OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);				                OUT.color = v.color * _Color;				return OUT;			}			fixed4 frag(v2f IN) : SV_Target			{				half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;				                #ifdef UNITY_UI_CLIP_RECT					color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);				#endif				#ifdef UNITY_UI_ALPHACLIP					clip (color.a - 0.001);				#endif				return color;			}		ENDCG		}	}}
 |