Files
DepthsOfGreed/Assets/Art/Handbook/ArenaRange.shader
T

14 lines
1.0 KiB
Plaintext

Shader "Handbook/ArenaRange" {
Properties { _Color("Color",Color)=(1,1,1,1) }
SubShader { Tags {"Queue"="Transparent" "RenderType"="Transparent"} Cull Off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha
Pass { CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct app {float4 vertex:POSITION;float4 color:COLOR;float2 uv:TEXCOORD0;};
struct v2f {float4 position:SV_POSITION;float2 world:TEXCOORD0;float4 color:COLOR;float2 uv:TEXCOORD1;};
float4 _Color,_ArenaCenter,_Tower,_Forward;float _ArenaRadius,_Fill,_Minimum,_Maximum,_CosHalf,_Dashed;
v2f vert(app v){v2f o;o.position=UnityObjectToClipPos(v.vertex);o.world=mul(unity_ObjectToWorld,v.vertex).xy;o.color=v.color*_Color;o.uv=v.uv;return o;}
fixed4 frag(v2f i):SV_Target {clip(_ArenaRadius-distance(i.world,_ArenaCenter.xy));if(_Fill>.5){float2 d=i.world-_Tower.xy;float r=length(d);clip(r-_Minimum);clip(_Maximum-r);clip(dot(d/max(r,.00001),_Forward.xy)-_CosHalf);return fixed4(.25,.65,.9,.07);}if(_Dashed>.5)clip(frac(i.uv.x*48)-.4);return i.color;}
ENDCG } } }