CMYK halftone print screens
In your harnessGodot shaderMIT
Reproduce colour printing: the image is split into cyan, magenta, yellow and black, each printed as dots on its own rotated grid with dot size following the ink amount, then composited on paper.

What it takes and gives
- Shader type
- spatial
- Render modes
- unshaded, cull_disabled, depth_test_disabled, depth_draw_never, skip_vertex_transform, fog_disabled
- Parameters
- screen_texture (sampler2D), dot_spacing (float = 7), dot_softness (float = 0.8), paper_color (vec4 = 0.97, 0.95, 0.9, 1), ink_strength (float = 1), monochrome (bool = no)
- Use it on
- A MeshInstance3D with a 2 x 2 QuadMesh,
material.tresas its material override and a large extra cull margin, as indemo.tscn. - Result
- The scene printed as overlapping cyan, magenta, yellow and black dot screens on cream paper.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/post_halftone_dots/
Limits. Dots sample the ink at each pixel, not at the cell centre, so dot edges follow image edges slightly. The RGB to CMYK conversion is the naive formula without colour management. Dot spacing is in screen pixels. The pass reads Godot's screen texture after opaque geometry, so transparent objects drawn after it are not processed and its order among other transparent passes is not controlled.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 174.9 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- CMYK separation, Rotated halftone screens at traditional angles, Dot area proportional to ink, Subtractive compositing
- Tags
- godot shader, spatial, post-process, halftone, cmyk, print, comic, full-screen
- Identity
library.supply.creative_originals.32e23b2d4352099303e40624.6450c388b39175a3- Version
6450c388b39175a3ab13ea96624790d7f211fc35148b3d0786d9e7263799c76c
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.


