lygia
/color
/space
/rgb2cmyk
)Convert CMYK to RGB
Dependencies:
Use:
rgb2cmyk(<vec3|vec4> rgba)
#ifndef FNC_RGB2CMYK
#define FNC_RGB2CMYK
vec4 rgb2cmyk(const in vec3 rgb) {
float k = mmin(1.0 - rgb);
float invK = 1.0 - k;
vec3 cmy = (1.0 - rgb - k) / invK;
cmy *= step(0.0, invK);
return saturate(vec4(cmy, k));
}
#endif
Dependencies:
Use:
rgb2cmyk(<float3|float4> rgba)
#ifndef FNC_RGB2CMYK
#define FNC_RGB2CMYK
float4 rgb2cmyk(float3 rgb) {
float k = mmin(1.0 - rgb);
float invK = 1.0 - k;
float3 cmy = (1.0 - rgb - k) / invK;
cmy *= step(0.0, invK);
return saturate(float4(cmy, k));
}
#endif
Dependencies:
Use:
rgb2cmyk(<float3|float4> rgba)
#ifndef FNC_RGB2CMYK
#define FNC_RGB2CMYK
float4 rgb2cmyk( float3 rgb) {
float k = mmin(1.0 - rgb);
float invK = 1.0 - k;
float3 cmy = (1.0 - rgb - k) / invK;
cmy *= step(0.0, invK);
return saturate(float4(cmy, k));
}
#endif
fn rgb2cmyk(rgb: vec3f) -> vec4f {
let k = min(1.0 - rgb.r, min(1.0 - rgb.g, 1.0 - rgb.b));
let invK = 1.0 - k;
var cmy = (1.0 - rgb - k) / invK;
cmy *= step(0.0, invK);
return saturate(vec4f(cmy, k));
}
LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.
Sponsors and contributors are automatically added to the Patron License and they can ignore the any non-commercial rule of the Prosperity Licensed software (please take a look to the exception).
It's also possible to get a permanent comercial license hook to a single and specific version of LYGIA.
Sign up for the news letter bellow, joing the LYGIA's channel on Discord or follow the Github repository