cloth-shading
What makes cloth read as cloth at any distance is how it takes light, not its
texture: soft, rough cotton; a velvet that glows where it turns away; a satin
with a long, bright highlight; leather that is smooth and a little glossy.
FABRICS are those as presets over Babylon's PBR material (roughness, and its
SHEEN, the grazing-angle glow fibres give cloth), plus finishes that are not
cloth at all: vinyl, foil, chrome, brushed steel, gold and copper, for armour,
helmets and the cheap space suit. A metal needs something to reflect: give
the scene an environment (studioEnvironment), or it renders nearly black.
clothShading puts one on a garment's material, with a RECOLOUR on top.
The recolour reads the garment's texture as grey (its shading: folds,
stitching, a weave) and tints it, blended by amount: 0 keeps the texture's
own colours, 1 is the colour wholly, and a print shows through in between.
One sweater becomes a red one, a pastel one and a black one. A garment with
no texture (one cut from the body) takes the colour as its albedo.
const shade = clothShading(material, { fabric: 'denim' })
shade.set({ fabric: 'wool', colour: '#7a2e2e', amount: 0.8 })