โ† All examples

procedural textures

Halftone print screens: CMYK, comic dots, newsprint, duotone

Generate tileable maps of printed halftone: a procedural design separated into inks and screened as round dots on rotated whole-number lattices at classic angles, with misregistration, dot gain and fibrous aged paper. Use for comic and pop-art surfaces, posters, newspapers, packaging and print-themed backgrounds.

Recorded render of Halftone print screens: CMYK, comic dots, newsprint, duotone

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • blender_material.py
  • component.json
  • halftone_print.py
  • material.tres
  • pngio.py
  • preview.png
  • test_package.py
  • texkit.py
  • verification/native.json

How it works

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
lines, design_scale, misregister, dot_gain, yellowing, fibres, hue_shift, saturation and 1 more
Presets
default, comic_dots, newsprint_mono, riso_duotone
Tileable
yes
Command line
python halftone_print.py --size 1024 --seed 7 --preset NAME --out DIR [--width W --height H] [--set NAME=VALUE] [--directx-normal] [--orm]
Godot material
material.tres
Blender builder
blender_material.build_material(folder)

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • command_line_generates_declared_maps
  • maps_decode
  • maps_have_declared_size_and_channels
  • maps_tile_without_a_seam
  • normal_vectors_unit_length_facing_out
  • maps_carry_detail
  • godot_imports_the_maps
  • godot_material_template_loads_every_map
  • godot_compatibility_render
  • capture_shows_the_textured_surface
  • blender_builds_the_material

Limits to consider

Amplitude-modulated round dots only: no stochastic, line or elliptical screens. Screen angles are rounded to whole-number lattice vectors so the screen repeats, which moves them by up to a few degrees from the nominal angle at low line counts. The separation is a simple grey-component replacement without colour management or ink limits, inks multiply as ideal transparent filters, and dot gain is a curve rather than ink spreading. The printed design is procedural noise, not artwork. Fine screens alias below about four pixels per dot row.