20 lines
446 B
Plaintext
20 lines
446 B
Plaintext
// Source: https://www.shadertoy.com/view/MltBW4
|
|
|
|
vec4 RGBtoCMYK(vec3 rgb) {
|
|
float K = 1.0 - max(max(rgb.r, rgb.g), rgb.b);
|
|
return vec4(
|
|
(1.0 - rgb.r - K) / (1.0 - K),
|
|
(1.0 - rgb.g - K) / (1.0 - K),
|
|
(1.0 - rgb.b - K) / (1.0 - K),
|
|
K
|
|
);
|
|
}
|
|
|
|
vec3 CMYKtoRGB(vec4 cmyk) {
|
|
return vec3(
|
|
(1.0 - cmyk.x) * (1.0 - cmyk.w),
|
|
(1.0 - cmyk.y) * (1.0 - cmyk.w),
|
|
(1.0 - cmyk.z) * (1.0 - cmyk.w)
|
|
);
|
|
}
|