UNPKG

phaser

Version:

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

25 lines (24 loc) 879 B
module.exports = [ '#pragma phaserTemplate(shaderName)', 'precision highp float;', '#pragma phaserTemplate(fragmentHeader)', 'uniform sampler2D uMainSampler;', 'uniform vec4 uColor;', 'uniform vec4 uColorFactor;', 'uniform bool uUnpremultiply;', 'uniform float uAlpha;', 'varying vec2 outTexCoord;', 'void main ()', '{', ' vec4 sample = texture2D(uMainSampler, outTexCoord);', ' if (uUnpremultiply)', ' {', ' sample.rgb /= sample.a;', ' }', ' vec4 modulatedSample = sample * uColorFactor + uColor;', ' float progress = modulatedSample.r + modulatedSample.g + modulatedSample.b + modulatedSample.a;', ' vec4 rampColor = getRampAt(progress);', ' rampColor.rgb *= rampColor.a;', ' gl_FragColor = mix(sample, rampColor * sample.a, uAlpha);', '}', ].join('\n');