ComfyUI Node
GRAYSCALE (JOV_GL)
Convert input to grayscale
GRAYSCALE (JOV_GL)
- image
- convert
- RGBA
- RGB
- MASK
◄FRAGMENT// name: GRAYSCALE
// desc: Convert input to grayscale
// category: COLOR
// default grayscale using NTSC conversion weights
uniform sampler2D image; // | MASK, RGB or RGBA
uniform vec3 convert; // 0.299, 0.587, 0.114; 0; 1; 0.01 | Scalar for each channel
void mainImage( out vec4 fragColor, vec2 fragCoord ) {
vec2 uv = fragCoord / iResolution.xy;
vec4 color = texture(image, uv);
vec3 gray = vec3(dot(color.rgb, convert));
fragColor = vec4(gray, color.a);
}►
CategoryJOV_GL 🌈/COLOR
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | MASK, RGB or RGBA | |
| convertopt | VEC3 | 0.299,0.587,0.114 | Scalar for each channel |
| FRAGMENTopt | STRING | // name: GRAYSCALE // desc: Convert input to grayscale // category: COLOR // default grayscale using NTSC conversion weights uniform sampler2D image; // | MASK, RGB or RGBA uniform vec3 convert; // 0.299, 0.587, 0.114; 0; 1; 0.01 | Scalar for each channel void mainImage( out vec4 fragColor, vec2 fragCoord ) { vec2 uv = fragCoord / iResolution.xy; vec4 color = texture(image, uv); vec3 gray = vec3(dot(color.rgb, convert)); fragColor = vec4(gray, color.a); } | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| RGBA | IMAGE | Full channel [RGBA] image. If there is an alpha, the image will be masked out with it when using this output. |
| RGB | IMAGE | Three channel [RGB] image. There will be no alpha. |
| MASK | MASK | Single channel mask output. |