phaser3-rex-plugins-fix-chun
Version:
34 lines (30 loc) • 737 B
JavaScript
import RGBToHSL from '../utils/RGBToHSL.js';
import HSLToRGB from '../utils/HSLToRGB.js';
const frag = `\
precision highmedp float;
// Scene buffer
uniform sampler2D uMainSampler;
varying vec2 outTexCoord;
// Effect parameters
uniform float hueRotate;
uniform float satAdjust;
uniform float lumAdjust;
`
+ RGBToHSL + HSLToRGB +
`\
void main(void) {
vec4 front = texture2D(uMainSampler, outTexCoord);
vec3 hsl = RGBToHSL(front.rgb);
hsl.x -= hueRotate;
hsl.y *= satAdjust;
hsl.z += (lumAdjust - 0.5) * front.a;
vec3 rgb = HSLToRGB(hsl);
gl_FragColor = vec4(rgb, front.a);
}
`;
export default frag;