Monitor Filter
Render the image as if it's being displayed on a phosphor monitor
- image
- pattern
- IMAGE
This node sells one specific illusion: an image that looks like it's on screen - a CRT, a low-res monitor, a green-phosphor terminal. It takes a pattern image, tiles it over your frame at a cell_size, blends it in with a hard-mix composite so the pattern genuinely restructures the pixels, then adds a blurred glow layer on top. The hard-mix part is the trick: instead of a soft overlay, each pixel snaps to pattern-or-image, which is what makes it read as a real display grid rather than a filter laid on top. If you've got a character looking at a screen in a generated scene and the screen just looks like a plain rectangle, this is the node.
How it works
Two layers, both controlled by the inputs. First, the pattern: an IMAGE input (the pack ships a bunch of candidate patterns under assets/patterns/) is tiled across the frame at cell_size pixels per cell, tinted by pattern_tint_r/g/b, and applied with hard-mix blending - every output pixel picks the pattern or the image, no partial values. That gives you the chunky, cell-structured "actual display resolution" look. Second, the glow: a glow_color_r/g/b layer (default green - terminal vibes) is offset by glow_offset_x/y, blurred by glow_blur_radius/glow_blur_sigma, and optionally doubled up with glow_layer_2 for that double-scanline halation glow around lit pixels.
The pattern is fully your choice - a phosphor dot mask for a CRT, a subpixel stripe for an LCD, vertical scanlines for a VHS-era monitor, or honestly anything you want, since the "monitor" is whatever pattern you feed it.
Inputs that matter
- pattern - the IMAGE that becomes the display grid. Start with one of the bundled patterns
- cell_size - pixels per pattern cell; lower = finer, higher = chunky low-res
- pattern_tint_r/g/b - tint the pattern itself
- glow_color_r/g/b - the phosphor glow color (green default, but red/amber is classic too)
- glow_blur_radius - how wide the glow spreads
One IMAGE in, one IMAGE out.
Install
Part of Photography Nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/TrophiHunter/ComfyUI_Photography_Nodes
Restart, find it under TrophiHunter/Photography (ComfyUI Manager: "Photography Nodes"). The pattern assets ship with the repo, so nothing extra to fetch.
Where people get burned
The hard-mix blending is unforgiving: if your pattern has soft gradients or is too dark, the "monitor" reads as a dirty smudge instead of a screen, so pick a pattern with sharp structure. And the default green glow + 12px cells is very terminal - that's the intended vibe, but if you want a modern LCD read, drop the glow intensity to near zero and switch the glow color toward gray/blue. Also, remember this is a screen emulation; it completely restructures the image's pixels, so run it at the very end of a branch (after any upscaling) - there's nothing to recover on the other side.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| pattern | IMAGE | — | |
| cell_size | INT | 122–100 | — |
| pattern_tint_r | FLOAT | 1.0000–1 | — |
| pattern_tint_g | FLOAT | 1.0000–1 | — |
| pattern_tint_b | FLOAT | 1.0000–1 | — |
| glow_color_r | FLOAT | 0.1000–1 | — |
| glow_color_g | FLOAT | 1.0000–1 | — |
| glow_color_b | FLOAT | 0.0000–1 | — |
| glow_offset_x | INT | 0-30–30 | — |
| glow_offset_y | INT | 0-30–30 | — |
| glow_blur_radius | INT | 131–55 | — |
| glow_blur_sigma | FLOAT | 5.001–99 | — |
| glow_layer_2 | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |