Textures
The Texture card is one equal thumb grid plus an optional custom image. The dock does not split maps into Simple / Patterns / SVG / Image headings — every thumb uses the same cell size. The sections below only describe where each map comes from. Maps are the same seamless tiles as Pattern texture / the SVG library / the image library (main-thread rasterize, then sampled as a packed heightmap). None of these images are vendored from BumpMesh.
Simple kernels
Five wrap-tested kernels, generated on the CPU (no SVG). Empty canvas defaults to Knurl.
Simple
Knurl- Diamond knurl. Default.
Grid- Orthogonal raised bars that tile.
Dots- Circular bumps on a repeating grid.
Stripes- Periodic ridges along U.
Hexagon- Packed hex cells that wrap on the tile.
Patterns
All 61 Pattern-texture generators, rasterized at 512 px with frozen defaults (same numbers as the Pattern texture tests; no extra sliders in Texturize). Thumbnails are 64 px and load when they scroll into view.
Ids are stored as pattern:<id> (for example pattern:hexagons).
SVG library
The eight bundled SVG tiles (Bricks, Herringbone, …), rasterized through the same path as Pattern texture. Ids are svg:<slug> (for example svg:Bricks).
Image library
Twenty-four bundled PNG/JPEG heightmaps (Basket, Brick, Carbon Fiber, woodgrains, …). Ids are image:<slug> (for example image:carbon-fiber). Luminance is height. Old unprefixed names such as basket still migrate to Pattern/SVG ids — they do not auto-switch to these photos.
Custom heightmap
Image import
Formats- PNG, JPEG, WebP. The file is converted to luminance (Rec. 709) and packed as grayscale. Colour is not preserved — only height.
Resolution- Longest side is capped at 1024 px. Smaller images are left as-is. Kernels are always 512×512.
Make seamless- Off by default. Blend opposite edges so the map tiles. Leave off for logos — wrap-blend destroys a non-tiling photo.
Storage- Only custom uploads are saved inside the
.3dsynthproject. Pattern/SVG/image pixels are never written tocustomImageB64— they re-rasterize from the id.
Old projects
Unprefixed Crystal-class ids migrate on load: crystal / voronoi → pattern:hexagons, noise / leather / wood → pattern:noise, brick → svg:Bricks, weave|weave2|weave3 → svg:Herringbone, unknown → kernel:knurl.
Displacement controls
These apply to every map, kernel, Pattern, SVG, image, or custom.
Height interpretation
Texture height (mm)- Peak displacement (0–10, default 0.5). Start around 0.3–1.0 mm for print-scale detail; go higher only for chunky architectural relief.
Invert- Flips the map: bright pixels pull in (when Symmetric is on) or become the low side (when Symmetric is off).
Symmetric (mid-grey = 0)- On: sample 0.5 → no motion, 0 → −height, 1 → +height. Off: 0 → no motion, 1 → +height (emboss sitting on the surface). Default on.
Blur (px)- Advanced. Box blur 0–16 px on the packed map before sampling. Use 1–3 on noisy photos; high values wash out knurls and grids.
Sampling
The heightmap tiles. Size U/V (see Mapping) sets how many millimetres one tile covers. Triplanar takes three tiled samples and blends them; other modes take one.
Related
- Texturize overview
- Mapping
- Masks
- Preview and export
- Mesh Sculptor bump map — lathe UV displacement on a sculptor mesh (different module)