โ† All examples

procedural textures

Bamboo poles and split slats

Generate tileable PBR maps of bamboo: culms side by side with nodes at uneven heights, node ridges, sheath scars and waxy bands, fibre streaks and spotted mottles, or split slats as in a blind or mat. Use for fences, screens, furniture, wall cladding, rafts and tropical scenes.

Recorded render of Bamboo poles and split slats

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • bamboo_poles.py
  • blender_material.py
  • component.json
  • 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
style, poles, width_variation, nodes, node_ridge, streaks, spots, gap and 3 more
Presets
default, green_fresh, black_bamboo, split_mat, spotted_brown
Tileable
yes
Command line
python bamboo_poles.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

Culms are straight cylinders in a height field running down the tile, all lying in one plane; there is no taper, bend, branch, leaf, cut end or lashing. Node positions are jittered per pole, and pole widths vary but always fill the tile width exactly. The cylindrical shading is partly in the albedo as well as in the normal map. Occlusion is a blurred-height estimate, not ray traced. Colours are artistic.