Every value an academic drawing or a Caravaggio painting shows on a form comes from one law: Lambert's cosine law. For a surface point with unit normal N lit by a source in direction L, the light it receives is proportional to the dot product:
Illumination = max(N · L, 0)
= max(cos θ, 0), θ = angle between N and L
Renaissance and academic painters simplified this continuous falloff into five discrete bands they could mix as flat paint values -- the classic "five-value system":
- Highlight -- where N is nearly parallel to L (θ ≈ 0°), the direct specular peak.
- Light / halftone -- N·L still positive but past the peak, the bulk of the lit side.
- Core shadow -- the darkest band, right where N·L crosses zero (θ = 90°, the terminator) -- no direct light reaches it, and it hasn't yet picked up bounce light either.
- Reflected light -- deeper into the shadow side, faintly lit again by light bouncing off the ground and surroundings -- a second, dimmer light source from roughly the opposite direction.
- Cast shadow -- the shape's silhouette projected onto the surface behind it, sharp-edged under a small/hard source and soft-edged under a large/diffuse one.
This simulator renders that literally: a key light (the sun/window/lamp) at your chosen azimuth & elevation drives the highlight and halftone; a fixed, dim fill light from roughly the opposite side supplies the reflected-light band on the far side of the terminator; and the key light's shadow-map blur (tied to the softness slider) sets whether the cast shadow reads hard or soft-edged -- the same relationship a photographer or painter uses when choosing a small hard source versus an overcast sky.
Toggle 5-Value Bands to switch the shading response from a continuous photographic gradient to the artist's quantized value scale -- the same posterization a beginner is taught to squint for when blocking in a drawing.