72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
|
/*
|
||
|
Author:gzg
|
||
|
Date:2019-08-20
|
||
|
Desc:这个Shader是用于,主界面右上角圆形小地图处理
|
||
|
*/
|
||
|
Shader "Ares/UI/CircleClip"
|
||
|
{
|
||
|
Properties
|
||
|
{
|
||
|
_Color("BaseColor",Color) = (1,1,1,1)
|
||
|
_MainTex ("Base (RGB)", 2D) = "white" {}
|
||
|
_Circle ("Center & Size", Vector) = (0.5,0.5,0.13,0.13)
|
||
|
_Reverse("Is Reverse (0 or 1)", float) = 1
|
||
|
}
|
||
|
SubShader
|
||
|
{
|
||
|
Tags { "RenderType"="Opaque" }
|
||
|
LOD 200
|
||
|
|
||
|
Pass
|
||
|
{
|
||
|
ZWrite Off
|
||
|
Blend SrcAlpha OneMinusSrcAlpha,Zero OneMinusSrcAlpha
|
||
|
|
||
|
CGPROGRAM
|
||
|
#pragma vertex vert
|
||
|
#pragma fragment frag
|
||
|
|
||
|
#include "unityCG.cginc"
|
||
|
|
||
|
uniform sampler2D _MainTex;
|
||
|
uniform float4 _MainTex_ST;
|
||
|
uniform float4 _Circle;
|
||
|
uniform float _Reverse;
|
||
|
|
||
|
struct INVert
|
||
|
{
|
||
|
float4 vertex :POSITION;
|
||
|
float2 texcoord : TEXCOORD0;
|
||
|
float4 color : COLOR;
|
||
|
};
|
||
|
|
||
|
struct VToF
|
||
|
{
|
||
|
float4 pos: POSITION;
|
||
|
float2 uv : TEXCOORD0;
|
||
|
float4 color : COLOR;
|
||
|
};
|
||
|
|
||
|
VToF vert(INVert v)
|
||
|
{
|
||
|
VToF o;
|
||
|
o.pos = UnityObjectToClipPos(v.vertex);
|
||
|
o.color = v.color;
|
||
|
o.uv = TRANSFORM_TEX( v.texcoord, _MainTex );
|
||
|
return o;
|
||
|
}
|
||
|
|
||
|
fixed4 frag(VToF vf):COLOR
|
||
|
{
|
||
|
fixed4 cr = tex2D(_MainTex,vf.uv);
|
||
|
float2 tuv = vf.uv - _Circle.xy;
|
||
|
fixed a = abs(step(tuv.x*tuv.x / (_Circle.z *_Circle.z) +tuv.y*tuv.y / (_Circle.w * _Circle.w) ,1) * cr.a - _Reverse);
|
||
|
return fixed4(cr.rgb,a * vf.color.a);
|
||
|
}
|
||
|
|
||
|
ENDCG
|
||
|
}
|
||
|
}
|
||
|
Fallback "Gonbest/FallBack/FBNothing"
|
||
|
}
|