Josh Ramirez
← Back to the journal

Departed Summer 2024

ESD Pavilion

ESD campus · 3D / Arch viz · Shipped

The pavilion. Tiered fountain in the foreground, the campus I'd walked every day standing behind it.

Departure

I'd walked the ESD campus every day for years and never once tried to build it. I wanted the whole thing in Blender — the brick buildings with the green trim, the church with the red multi-pitched roof, the football field with EAGLES painted across the turf — and then to walk through it in Twinmotion the way you walk through a city in GTA. ESD GTA 6 before GTA 6.

Approach

  • Blender
  • Twinmotion
  • UVs
  • RenderDoc

Had to be recognizably ESD, not generic-school-3D — every building roughly where it actually stands.

Field log

  1. Day 1 — The plan

    Wrote the workflow on one page before I opened anything: gather references, block out the geometry, refine and texture, export to Twinmotion, light it, plant trees. Six boxes, one arrow each.

    The whole summer in six boxes.
  2. Day 2 — Camera around campus

    Walked the campus with a camera. Three reference shots stuck.

    The campus as it actually is, before any geometry exists.
  3. RenderDoc on Google Earth

    Google Earth 3D renders the campus as real OpenGL geometry. RenderDoc is a free MIT-licensed graphics debugger — point it at the application, capture a single frame, walk away with the underlying mesh. One capture and I had a wireframe of the whole neighborhood: buildings, parking lots, the running track around the football field, the blue tennis courts.

    One frame capture and the whole neighborhood arrives as real geometry.
  4. Block-out in Blender

    Pulled the captured mesh into Blender and worked it as a flat untextured white mass. Massive campus, no detail. The pond was a depression in the ground plane.

    Geometry first. Everything else later.
  5. First textures

    Pixelated pass first. Flat green grass, solid brown roofs, white walls, EAGLES blocked out as white squares on green.

    First color pass. Crayon stage.
  6. Re-block

    Stripped it back to white and reworked the geometry that the texture pass had exposed. The model is whatever shape you can read without color helping you out.

    Back to white. Read the shapes.
  7. Texturing pass — procedural + image

    Real pass: procedural plus image-based. Darker shaded grass, patterned brown tile roofs, gray paved walkways, a bright blue pond where the depression used to be.

    Procedural where it could be, image where it had to be.
  8. Twinmotion: lighting click

    Exported the .fbx to Twinmotion. Same untextured white campus, suddenly standing under a real sky with real sun-cast shadows. Then a top-down blueprint view: clicked white-dot tree clusters along every walkway until the perimeter filled in.

    Untextured white plus a real sun. Then dots for trees.
  9. First ground-level render

    Wide render from inside the model: playground with blue structures, real grass, planted trees, view down a grassy corridor toward the white church. Sharp realistic shadows. The campus walked through.

    First time the inside of the model felt like a place.
  10. The pavilion

    Courtyard scene. Tiered stone fountain in the foreground, manicured lawn, dappled tree shadows on paved walkways, brick buildings forming the perimeter, clear blue sky. The shot the project was named for.

    The pavilion shot.

From the gallery

The white church and red roof, low in the grass.
Different style entirely. Painterly figures on a waterfront.
Sunset variant. Pink and purple sky, hard glow on the red roof.

What I came back with

Photoreal campus, RenderDoc'd from Google Earth

Lesson from the terrain

Half the work was already sitting in someone else's GPU buffer. I never could've hand-modeled the whole neighborhood in a summer, but RenderDoc handed me the entire ESD campus as real geometry from a single Google Earth frame capture, and Blender and Twinmotion did the rest. And the gap between the flat-white block-out and the final courtyard render is almost entirely the renderer — Blender shows you what you built, Twinmotion shows you what it looks like.

Cross-links

This fed into / from