UNPKG

phaser

Version:

A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers from the team at Phaser Studio Inc.

27 lines (26 loc) 762 B
module.exports = [ '#define SHADER_NAME BARREL_FS', 'precision mediump float;', 'uniform sampler2D uMainSampler;', 'uniform float amount;', 'varying vec2 outTexCoord;', 'vec2 Distort(vec2 p)', '{', ' float theta = atan(p.y, p.x);', ' float radius = length(p);', ' radius = pow(radius, amount);', ' p.x = radius * cos(theta);', ' p.y = radius * sin(theta);', ' return 0.5 * (p + 1.0);', '}', 'void main()', '{', ' vec2 xy = 2.0 * outTexCoord - 1.0;', ' vec2 texCoord = outTexCoord;', ' if (length(xy) < 1.0)', ' {', ' texCoord = Distort(xy);', ' }', ' gl_FragColor = texture2D(uMainSampler, texCoord);', '}', ].join('\n');