โ† All examples

procedural textures

Opus vermiculatum tesserae mosaic

Generate tileable PBR maps of opus vermiculatum mosaic: rows of small tesserae that ring round motifs, outline them and fill the background, meeting along irregular seams, in stone, terracotta or glass smalti with metallic gold. Use for Roman and Byzantine floors, walls, pools and panels.

Recorded render of Opus vermiculatum tesserae mosaic

What this component contains

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

How it works

Entry point
generate
Maps
albedo, normal, roughness, metallic, height, ao
Parameters
motifs, motif_size, tessera_size, grout_width, irregularity, outline_rows, relief, gloss and 4 more
Presets
default, gold_smalti, sea_rings, earth_stone
Tileable
yes
Command line
python mosaic_tesserae.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

Motifs are discs, so every row is a ring around one disc; figurative designs, borders and andamento along arbitrary curves are out of scope. Tesserae are annular sectors trimmed by random amounts, an approximation of hand-cut squares, and the innermost rings of a motif hold a few wedge-shaped pieces. Gold smalti are drawn as metallic gold faces, not glass over leaf. Occlusion is a blurred-height estimate, not ray traced.