3d-spinner and beyond: shading & materials

Every shape takes an optional material (specular Ks/Ns and emissive Ke), applied to all its faces. Flat shading is the baseline; a material layers a Blinn-Phong highlight and an additive glow on top. Specular reads best on the WebGL and WebGPU backends (per-pixel highlight); Canvas 2D approximates it per face.

Material presets

Playground