Shader "Cumhurs Shaders/General/Tutorial Circle" {
Properties {
_Color ("Tint", Color) = (1,1,1,1)
_Center ("Hole Center", Vector) = (0.5,0.5,0,0)
_Radius ("Hole Radius", Float) = 0.25
_Shape ("Hole Shape", Float) = 0.25
}
SubShader {
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="true" "RenderType"="Transparent" "PreviewType"="Plane" }
Pass {
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="true" "RenderType"="Transparent" "PreviewType"="Plane" }
ZWrite Off
Cull Off
Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Program "vp" {
SubProgram "gles " {
"!!GLES
#ifdef VERTEX
attribute vec4 _glesVertex;
attribute vec4 _glesColor;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform lowp vec4 _Color;
varying lowp vec4 xlv_COLOR;
varying mediump vec2 xlv_TEXCOORD0;
void main ()
{
highp vec2 tmpvar_1;
tmpvar_1 = _glesMultiTexCoord0.xy;
lowp vec4 tmpvar_2;
mediump vec2 tmpvar_3;
tmpvar_3 = tmpvar_1;
highp vec4 tmpvar_4;
tmpvar_4 = (_glesColor * _Color);
tmpvar_2 = tmpvar_4;
gl_Position = (glstate_matrix_mvp * _glesVertex);
xlv_COLOR = tmpvar_2;
xlv_TEXCOORD0 = tmpvar_3;
}
#endif
#ifdef FRAGMENT
uniform mediump vec2 _Center;
uniform mediump float _Radius;
uniform mediump float _Shape;
varying lowp vec4 xlv_COLOR;
varying mediump vec2 xlv_TEXCOORD0;
void main ()
{
lowp vec4 tmpvar_1;
mediump vec4 color_2;
color_2 = xlv_COLOR;
mediump vec2 tmpvar_3;
tmpvar_3 = (xlv_TEXCOORD0 - _Center);
color_2.w = (color_2.w * pow (min (
(sqrt(dot (tmpvar_3, tmpvar_3)) / _Radius)
, 1.0), _Shape));
tmpvar_1 = color_2;
gl_FragData[0] = tmpvar_1;
}
#endif"
}
SubProgram "gles3 " {
"!!GLES3#version 300 es