| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | // Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)Shader "FairyGUI/EyeOpeningEffect"{	Properties	{		_MainTex("Base (RGB), Alpha (A)", 2D) = "black" {}		_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		[Space(100)]		_Param("Param", vector) = (0.6, 0.3, 1, 1)	}		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	#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;		half3 _Param;		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;			half4 color = IN.color;			half x = IN.texcoord.x - 0.5;			half y = IN.texcoord.y - 0.5;			half oval = x * x / (_Param.x * _Param.x) + y * y / (_Param.y * _Param.y);			color.a = oval;	#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		}		}}
 |