Worksheet 7 — Part 4 · Bump Mapped Reflective Sphere

WebGPU not supported.

A normal map perturbs the mirror ball's normal, so the reflection looks scaly/bumpy. Drag to orbit.

Bump mapping: the normal map colour c is decoded to a tangent-space normal n⊥ = 2c − 1, rotated into world space with rotate_to_normal(nw, n⊥), and the perturbed normal replaces nw in rw = reflect(pw − e, nbump).