Skip to content

Add material pool with patches and product variants (1.12.0) - #6

Merged
Danyals-code merged 1 commit into
mainfrom
standardize-panel-and-orient-products
Oct 28, 2026
Merged

Danyals-code merged 1 commit into
mainfrom
standardize-panel-and-orient-products

Conversation

@Danyals-code

Copy link
Copy Markdown
Owner

Material pool

  • Scan a folder of PBR texture sets (ambientCG / Poly Haven naming) into a pool with per-material ticks; names stay stable across rescans and are unique even when folders share a name
  • Box-projected Principled materials at a real-world Texture Size, so CAD meshes need no UVs; packed ARM supported; normal and opacity maps listed but not used
  • Moved libraries are rescanned before rendering; pre-flight stops the batch when textures a material uses are missing

Material patches

  • A flat swatch and a lit ball side by side per material, on demand or with Render All, in the scene's colour management; the first shard makes them in sharded runs

Product variants

  • N Full renders per view, each part (or the whole product) drawing a pool material; draws are hashed per seed, product, variant, part and material, so changing the pool moves only the draws it touches
  • Clay, masks and data passes rendered once per view; products set to Keep Own render once in their own materials
  • {variant} naming token; manifest variant/materials columns; the pool recorded in provenance; pool materials removed after a run

Tests

  • test_materials.py

Material pool
- Scan a folder of PBR texture sets (ambientCG / Poly Haven naming)
  into a pool with per-material ticks; names stay stable across
  rescans and are unique even when folders share a name
- Box-projected Principled materials at a real-world Texture Size,
  so CAD meshes need no UVs; packed ARM supported; normal and
  opacity maps listed but not used
- Moved libraries are rescanned before rendering; pre-flight stops
  the batch when textures a material uses are missing

Material patches
- A flat swatch and a lit ball side by side per material, on demand
  or with Render All, in the scene's colour management; the first
  shard makes them in sharded runs

Product variants
- N Full renders per view, each part (or the whole product) drawing
  a pool material; draws are hashed per seed, product, variant, part
  and material, so changing the pool moves only the draws it touches
- Clay, masks and data passes rendered once per view; products set
  to Keep Own render once in their own materials
- {variant} naming token; manifest variant/materials columns; the
  pool recorded in provenance; pool materials removed after a run

Tests
- test_materials.py
@Danyals-code
Danyals-code merged commit e6e43dd into main Oct 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant