Skip to content

Instantly share code, notes, and snippets.

@igrir
Created March 26, 2019 10:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igrir/eed3c4e31e6b3a9bb67891f60b5f5647 to your computer and use it in GitHub Desktop.
Save igrir/eed3c4e31e6b3a9bb67891f60b5f5647 to your computer and use it in GitHub Desktop.
Simple masking radial shader
Shader "Hidden/NewImageEffectShader"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_MaskTex ("Mask", 2D) = "white" {}
_MaskValue ("Mask Value", range(0,1)) = 0.0
}
SubShader
{
// No culling or depth
Cull Off ZWrite Off ZTest Always
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
sampler2D _MainTex;
sampler2D _MaskTex;
float _MaskValue;
fixed4 frag (v2f i) : SV_Target
{
fixed4 source = tex2D(_MainTex, i.uv);
float mask = (atan2(i.uv.y*2-1, i.uv.x*2-1)/UNITY_PI)/2+0.5;
float stepValue = step(mask, _MaskValue);
fixed4 value = stepValue;
source.a = (source.a * stepValue);
source.rgb = source * value;
return source;
}
ENDCG
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment