23 lines
534 B
Plaintext
23 lines
534 B
Plaintext
#define pi 3.141592653589793238462643383279
|
|
#define twopi (pi * 2.0)
|
|
varying vec2 rcoords;
|
|
uniform float progress;
|
|
|
|
const float maxRad = 0.8;
|
|
const float minRad = 0.4;
|
|
|
|
void main() {
|
|
float r = length(rcoords);
|
|
if(r < minRad || r > maxRad)
|
|
discard;
|
|
float ang = (atan(rcoords.y, rcoords.x) + pi) / twopi;
|
|
if(ang > progress)
|
|
discard;
|
|
|
|
float alpha = abs(r - (minRad + (maxRad - minRad) / 2.0));
|
|
alpha /= (maxRad - minRad);
|
|
alpha = 1.0 - alpha;
|
|
gl_FragColor.rgb = gl_Color.rgb;
|
|
gl_FragColor.a = alpha;
|
|
}
|