Brixx, Brno: 3D reconstructions

Three ways of turning four marketing renders of the Brixx development into a 3D model, compared on the same views. All models open in the browser; drag to orbit.

Method 1

Astra, procedural Blender model

An agent (gpt-6-astra) derived a site plan from the renders and wrote a Python script that builds every building in Blender.

  • Clean, measurable geometry: storeys, balconies, railings, roofs
  • Correct layout; facades are a regular, simplified pattern
  • Looks the same from every angle
Method 2

Astra, photo-projected textures

Same model, cameras refitted to the renders, then the renders themselves baked onto the surfaces (the idea behind image-blaster's use of the source image).

  • Photographic facades near the four reference views
  • Smearing and ghosting where geometry and render disagree, and on the ground
  • Hidden sides keep the procedural colours
Method 3

TripoSR, single image to 3D

Tripo's open-source model (MIT), run locally on one render at a time after automatic background removal. One result per input view.

  • Fully automatic, about 2.5 minutes per image on a laptop GPU
  • Blobby shapes, no straight walls or storeys, tower too short
  • Each view gives a different, inconsistent model
Not run

image-blaster and hosted Tripo

image-blaster only orchestrates paid cloud APIs (World Labs Marble for a Gaussian-splat environment, Hunyuan 3D on FAL for objects) and needs keys for both. Tripo's hosted models need an account; the free plan is a small monthly credit allowance, non-commercial, with public models. Neither ran here.

All three methods, same views

For each supplied render: the render itself, then each method seen from that camera. Methods 1 and 2 use the camera fitted to the render; TripoSR is shown from its own input camera, run on that render alone, so it only ever sees one view.

View 3, high aerial from the plaza corner

View 3: Reference render
Reference render
View 3: Method 1: procedural
Method 1: procedural
View 3: Method 2: projected
Method 2: projected
View 3: Method 3: TripoSR
Method 3: TripoSR

View 4, aerial from the plaza

View 4: Reference render
Reference render
View 4: Method 1: procedural
Method 1: procedural
View 4: Method 2: projected
Method 2: projected
View 4: Method 3: TripoSR
Method 3: TripoSR

View 2, into the white courtyard

View 2: Reference render
Reference render
View 2: Method 1: procedural
Method 1: procedural
View 2: Method 2: projected
Method 2: projected
View 2: Method 3: TripoSR
Method 3: TripoSR

View 1, dusk; the weakest camera match

View 1: Reference render
Reference render
View 1: Method 1: procedural
Method 1: procedural
View 1: Method 2: projected
Method 2: projected
View 1: Method 3: TripoSR
Method 3: TripoSR

Away from the reference views

The projected model from three viewpoints no render covers. This is where projection texturing breaks down.

Photo-projected model from three new viewpoints

TripoSR results

Left: the input after background removal. Right: the generated mesh from four directions.

TripoSR input, view 3
TripoSR mesh from view 3, four directions
From view 3
TripoSR input, view 4
TripoSR mesh from view 4, four directions
From view 4
TripoSR input, view 2
TripoSR mesh from view 2, four directions
From view 2
TripoSR input, view 1
TripoSR mesh from view 1, four directions
From view 1