blob: 2a57a1052405bbd3d5455b7460d327fdc3d2c326 [file] [log] [blame]
varying vec2 center_vec;
void frag()
{
float dist_to_center = length(center_vec) * 100.0 / radius;
vec2 texc;
if (dist_to_center > 1.0) {
texc = TexCoord;
} else {
float r = radians(360.0) * (1.0 - dist_to_center);
float distortion = sin(r * (100.0 - distortionWidth) + radians(distortionPhase));
texc = TexCoord - (TexCoord - center) * distortion * distortionHeight / 800.0;
}
if (texc.x < 0.0 || texc.x > 1.0 || texc.y < 0.0 || texc.y > 1.0)
gl_FragColor = vec4(0.0);
else
colorOutput(texture2D_0(texc));
}