BELLWOOD CROSSING

Third study · after Gabriel Nagypal

waking the forest…

BELLWOOD CROSSING

Third study · strata, fine grain and the dark cave · Three.js

drag look
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; wheel dolly
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; W walk
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; R raw
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; B breakdown
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; I about
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp;·
drag look  ·  wheel dolly  ·  W send them on  ·  hold R raw  ·  B breakdown  ·  I how it works  ·  H hide ui
nbsp; H hide ui

How the look is built

The reference is a matte painting: painterly strokes, one warm key light from behind, cool violet shadows, aerial haze that glows toward the sun, prismatic rays and huge scale. This page rebuilds those decisions as a real-time pipeline in Three.js. Every layer can be switched off in the breakdown panel to see what it contributes.

  1. One lighting model for everything. Props, bark, ground, grass, leaves and water all go through paintLight(): a wrapped, three-tone ramp instead of Lambert, a hue shift between warm light and violet shadow, a hot backlit rim, translucency for thin things, and a noise-perturbed "brush normal" so shading blocks in like paint instead of a smooth gradient.
  2. Aerial perspective. applyHaze() is height-dependent distance fog with a Firewatch-style colour ramp (ochre near, lavender in the middle distance, cream far) mixed toward the sun colour by the angle to the sun.
  3. The great root as strata. The arch, the cave, the mossy wall and the trunks are bundles of flattened ribbons wrapped around master splines traced from the painting: each ribbon has torn side edges, a cream top edge and a dark underside, cracks and speckle, three-value moss stipple on its upward faces, and thin pale fibres draped between them. Thin slate-teal strands sit in the gaps for the crystal seams.
  4. Camera projection of the painting. The reference is projected from the reconstructed camera onto the arch, cave, wall, ground, plants, foliage and sky, with a projector depth map so hidden surfaces never receive it and a facing term so grazing surfaces fade. It is full at the opening view and fades as the camera moves; the giant, stag and rider keep their own painted textures so they can move. Detail tiles lifted from the painting's own bark, moss, cave, meadow and foliage feed the 3D materials underneath. The reference image is Gabriel Nagypal's and is used here for study only.
  5. Composition by match-move. Every anchor in the painting (giant, stag, mushrooms, the arch's crown and legs, the root wall, the trunk, the pool, the distant tree) was measured in image space and placed by unprojecting that point at a chosen depth, so the layout is the painting's by construction.
  6. Foliage as leaf clusters. Thousands of small leaf quads in 3D, each with a stamped, hard-edged painted leaf sprite, grouped into ellipsoid clusters that shade with a spherical normal and glow when backlit. Foreground plants are modelled: elephant-ear leaves with violet undersides, yellow palmate leaves, the bronze spike plant, red plumes, plus the mushroom, bracken and heather assets and a blue pompom carpet.
  7. Painted figures. The giant is the rigged bellwood mesh (walk clip), the rider sits on the white stag, all scaled to the painting's ladder: rider 1.6 m, stag 2.4 m, giant 4.8 m, cave mouth about 20 m.
  8. Soft shadows + contact blobs. Variance shadow maps from the backlight (blurred, painterly), plus a dark radial decal under each prop to glue it to the ground.
  9. Reflection. The pool is a planar reflector with noise ripples, a four-tap blur so the mirror image is soft, fresnel against a teal body colour and a sun glint.
  10. Occlusion first. A depth-only SSAO (normals rebuilt from depth, 12 spiral samples, blurred) darkens crevices between the ribbons and the contact under plants and feet, tinted toward the cave's blue-grey.
  11. The brush: flow-based abstraction (Kyprianidis and Döllner). A structure tensor is smoothed into a tangent field; an orientation-aligned bilateral filter runs twice along the gradient and along the tangent, flattening gradients while keeping edges and texture direction; the luminance is softly quantized into a few value steps; then a line-integral convolution of noise along the tangent field lays brush grain that follows the forms. The anisotropic Kuwahara stays as an option.
  12. Prismatic god rays. Sky pixels (depth at the far plane) near the sun are the light source; two radial-blur passes march toward the sun with per-channel step lengths (dispersion) and a hue ramp across the beam, so the shafts split into a rainbow like the painting.
  13. Grade. Exposure → ACES → shadows lifted violet, highlights warmed, a little contrast and saturation, paper tooth and animated grain, ink edges from a luminance Sobel, chromatic edges and a warm vignette.

Assets: the bellwood-crossing batch (giant walker, white stag, seated rider, root-arch tile) generated with the bellwood-painterly style pack from the asset study, plus Tenth Crown props. All simplified to ~22% and quantized with gltf-transform; their PBR is discarded and only the painted base colour survives, relit by the pipeline above. Press W to send the travellers into the light.