@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
26 lines • 1.23 kB
JavaScript
/**
* Fast hue shifting for colors.
* Hue shift is expressed in __radians__.
*/
export function tgdCodeFunction_shiftHue({ name = "shiftHue", } = {}) {
return {
[name]: `vec3 ${name}(vec3 color, float hue) {
const vec3 k = vec3(0.5773502691896258);
float cosAngle = cos(hue);
return vec3(
color * cosAngle
+ cross(k, color) * sin(hue)
+ k * dot(k, color) * (1.0 - cosAngle)
);
}
`,
};
}
export function tgdCodeFunction_luminance({ name = "luminance", } = {}) {
return {
[name]: `float ${name}(vec3 color) {
return 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
}`,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9jb2xvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsRUFDckMsSUFBSSxHQUFHLFVBQVUsTUFHakIsRUFBRTtJQUNGLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsSUFBSTs7Ozs7Ozs7O0NBUzNCO0tBQ0ksQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUMsRUFDdEMsSUFBSSxHQUFHLFdBQVcsTUFHbEIsRUFBRTtJQUNGLE9BQU87UUFDSCxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsSUFBSTs7RUFFM0I7S0FDRyxDQUFBO0FBQ0wsQ0FBQyJ9