Procedural Japanese Pagoda Generator — Three.js Web App by Chiro VisualsProcedural Japanese Pagoda Generator — Three.js Web App | Contra
A complete Japanese pagoda, generated from parameters — not a scaled pre-made model.
Move a slider and the architecture rebuilds itself: floors, footprint, taper, column grid, roof curvature, wall type, balconies, stairs, lanterns. Every piece of geometry is computed at runtime in the browser with Three.js.
What makes it read as real
Roof tiles are geometry, not a texture. Each roof is lofted eave-to-ridge with a concave profile and lifted corners, then corrugated into hongawara tile courses phase-locked to world space — courses stay parallel while the roof narrows. Every course ends in a round cap tile; hip ridges follow the curved corner chains and kick up at the tips. ~60–100k triangles per roof.
Full PBR materials (CC0 scans) with world-scaled UVs, so texel density stays uniform across the merged building.
Real structural detail: two-tier exposed rafters, bracket complexes on pillar tops, kōran-railed balconies above each roof skirt, central shinbashira, gilded sōrin spire, emissive chōchin lanterns on every eave.
Fast: everything merges to one mesh per material — roughly 14 draw calls, even at the 7-storey / ~600k-triangle setting.
The zen garden builds itself around whatever you generated
A karesansui court re-fits to the tower's footprint and entrance side on every rebuild. The raked gravel is analytic, not a texture: every furrow is a level set of a single scalar potential that meanders in long parallel lines across the open "sea" and turns into concentric rings around each island — podium, stone group, lantern foot — then unwinds back into the sea lines, exactly the way a real rake track does. Boulders are grown from noise-displaced icosahedra and planted in odd-numbered sanzon-seki groups; kasuga stone lanterns face the tower and always leave the stairs a clear approach.
Weather, seasons and atmosphere
Rain with wind direction and streak controls, plus an in-place wet-surface shader: puddles by flatness, darkening, gloss, droplets, live ripples.
Snowfall with a real accumulation shell — coverage, thickness, relief, sparkle.
A procedural sakura grove: tube-bark trees, instanced blossom cards, tumbling petal drift, and petals that settle and accumulate on surfaces.
Four physically-based lighting rigs — Golden Hour, Misty Dawn, Starry Night, Daylight Sky — each a full setup: HDRI/procedural-sky IBL, key/fill/rim/kick, softboxes, façade uplighters, roof crown light, fog, ACES tone mapping and bloom.
Controls & presets
Live lil-gui panel over Dimensions, Structure, Roof + Tiles, Walls + Openings, Balcony + Base, Lanterns, Variation (perfect / semi / organic symmetry, seed, 0–100 detail), Zen Garden, Weather and Sakura Grove. Building presets ship for Five-Story, Three-Story Compact, Seven-Story Grand and Squat Pavilion. A high/low render-quality switch keeps it usable on weaker GPUs.
Export
One click writes the current tower to .glb for Blender, Unreal or Unity.
Tech
Three.js + Vite, plain ES modules, no framework, no build magic. npm install && npm run dev. Ships with a headless smoke test that generates every preset plus stress configurations. Modular by design — the temple, garden, weather and grove systems each own their own materials and never touch each other's.
Get it for$50.00
Tags
WebGL
3D
3Ddesign
procedural
realtime
threejs
Product created by
Chiro Visuals Tunis, Tunisia
2
Followers
Get it for$50.00
Tags
WebGL
3D
3Ddesign
procedural
realtime
threejs
A complete Japanese pagoda, generated from parameters — not a scaled pre-made model.
Move a slider and the architecture rebuilds itself: floors, footprint, taper, column grid, roof curvature, wall type, balconies, stairs, lanterns. Every piece of geometry is computed at runtime in the browser with Three.js.
What makes it read as real
Roof tiles are geometry, not a texture. Each roof is lofted eave-to-ridge with a concave profile and lifted corners, then corrugated into hongawara tile courses phase-locked to world space — courses stay parallel while the roof narrows. Every course ends in a round cap tile; hip ridges follow the curved corner chains and kick up at the tips. ~60–100k triangles per roof.
Full PBR materials (CC0 scans) with world-scaled UVs, so texel density stays uniform across the merged building.
Real structural detail: two-tier exposed rafters, bracket complexes on pillar tops, kōran-railed balconies above each roof skirt, central shinbashira, gilded sōrin spire, emissive chōchin lanterns on every eave.
Fast: everything merges to one mesh per material — roughly 14 draw calls, even at the 7-storey / ~600k-triangle setting.
The zen garden builds itself around whatever you generated
A karesansui court re-fits to the tower's footprint and entrance side on every rebuild. The raked gravel is analytic, not a texture: every furrow is a level set of a single scalar potential that meanders in long parallel lines across the open "sea" and turns into concentric rings around each island — podium, stone group, lantern foot — then unwinds back into the sea lines, exactly the way a real rake track does. Boulders are grown from noise-displaced icosahedra and planted in odd-numbered sanzon-seki groups; kasuga stone lanterns face the tower and always leave the stairs a clear approach.
Weather, seasons and atmosphere
Rain with wind direction and streak controls, plus an in-place wet-surface shader: puddles by flatness, darkening, gloss, droplets, live ripples.
Snowfall with a real accumulation shell — coverage, thickness, relief, sparkle.
A procedural sakura grove: tube-bark trees, instanced blossom cards, tumbling petal drift, and petals that settle and accumulate on surfaces.
Four physically-based lighting rigs — Golden Hour, Misty Dawn, Starry Night, Daylight Sky — each a full setup: HDRI/procedural-sky IBL, key/fill/rim/kick, softboxes, façade uplighters, roof crown light, fog, ACES tone mapping and bloom.
Controls & presets
Live lil-gui panel over Dimensions, Structure, Roof + Tiles, Walls + Openings, Balcony + Base, Lanterns, Variation (perfect / semi / organic symmetry, seed, 0–100 detail), Zen Garden, Weather and Sakura Grove. Building presets ship for Five-Story, Three-Story Compact, Seven-Story Grand and Squat Pavilion. A high/low render-quality switch keeps it usable on weaker GPUs.
Export
One click writes the current tower to .glb for Blender, Unreal or Unity.
Tech
Three.js + Vite, plain ES modules, no framework, no build magic. npm install && npm run dev. Ships with a headless smoke test that generates every preset plus stress configurations. Modular by design — the temple, garden, weather and grove systems each own their own materials and never touch each other's.
$50.00
Buy