Baltor Get started

Gallery / Procedural textures

Quilted and deep-buttoned fabric

In your harnessProcedural textureMIT

Generate tileable PBR maps of quilted fabric: diamond, square or channel quilting with puffed panels, stitched seams, crinkles and a fine weave, or deep-buttoned tufting. Use for bedspreads, puffer jackets, moving blankets, padded walls, headboards and Chesterfield sofas.

Render of Quilted and deep-buttoned fabric
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
pattern, cells, aspect, puff, stitches, buttons, wrinkles, sheen and 4 more
Presets
default, puffer_channel, square_satin, chesterfield, moving_blanket
Tileable
yes
Command line
python quilted_fabric.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)

Limits. Panels are pillow profiles between straight seam lines, not cloth simulation: there is no drape, gathering or sagging, and tufting folds follow the seams instead of radiating from each button. Diamonds keep whole panel counts across and down the tile, so the aspect is quantized. Stitches are dashes in the seam groove; thread twist is not modelled. The weave is a fine cosine grid that fades out when it would be finer than a few pixels. Occlusion is a blurred-height estimate, not ray traced.

Details

Kind
Procedural texture
Engine
Python 3.10 or later
Files
12 files, 237.9 KB
Licence
MIT
Declared effects
runs commands, writes files
Checked with
Godot 4.7.2, gl_compatibility
Checks
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
Techniques
Seam lines as integer phase families n_u u + n_v v = k on the torus, Pillow height as a product of rounded profiles of the distance to each seam family, Stitch dashes from the phase of the crossing seam family, Buttons as domes in recesses at seam crossings, Ridged noise crinkles weighted by closeness to the seams, Height to tangent-space normal by central differences, Cavity occlusion from blurred height
Tags
texture, pbr, tileable, quilting, quilted, fabric, tufted, upholstery
Identity
library.supply.creative_originals.f99ea4ec2549b37eb2b3dff3.1bca0191aa319803
Version
1bca0191aa319803cc5de913335682a409521415526f12b15b0e70d45185a047

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.