@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
26 lines • 1.21 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9jb2xvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsRUFDckMsSUFBSSxHQUFHLFVBQVUsR0FHcEI7SUFDRyxPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUk7Ozs7Ozs7OztDQVMzQjtLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEVBQ3RDLElBQUksR0FBRyxXQUFXLEdBR3JCO0lBQ0csT0FBTztRQUNILENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxJQUFJOztFQUUzQjtLQUNHLENBQUE7QUFDTCxDQUFDIn0=