Posterize
Reduces image colors to a fixed number of discrete levels, creating a flat graphic look.
Category: Effects Menu path: Effects > Posterize
Ports
| Port | Type | Direction | Description |
|---|---|---|---|
in | imageRgba16f | input | Input image |
out | imageRgba16f | output | Posterized result |
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
levels | scalar | 8 | Number of discrete color levels per channel. Minimum 2. Higher values produce subtler quantization. Keyframeable. |
Expose Channels
When enabled (E button on node header), adds input ports that override params via edge connections:
| Port | Type | Overrides |
|---|---|---|
levels_in | scalar | levels |
How It Works
Each color channel is independently quantized to the specified number of levels. The shader unpremultiplies alpha, applies floor(rgb * levels) / (levels - 1) to snap each channel to the nearest step, then repremultiplies. At 2 levels, the image becomes pure black and white per channel. At higher levels (16+), the effect becomes increasingly subtle.
Usage Examples
Basic: Flat graphic look
- Add a Posterize node after your image source
- Set levels to 4 for a bold, screen-print aesthetic
- Combine with a Blur node upstream for smoother color bands
Creative: Animated level reduction
- Connect a Time node to
levels_invia expose channels - Use a Math node to remap time from 2 to 32
- The image progressively gains color fidelity over time
Tips
- Very low values (2-4) create bold graphic effects; values above 16 are barely noticeable
- Apply Blur before Posterize to reduce noise and create cleaner color bands
- Works well with Colorize downstream to remap the quantized values to a custom palette