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
JavaScript
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');