Primer

Forget meshes.
Think of light, frozen in space.

A Gaussian Splat is not a mesh. It is not a point cloud. It is not a photograph. It is closer to a dataset of three-dimensional brushstrokes — millions of tiny, oriented, colored blobs that, when viewed together at any angle, reconstruct the exact light of a real scene.

The technique — 3D Gaussian Splatting — was published in August 2023 and has since become the fastest-moving area in real-time computer graphics. Unlike traditional CGI, a splat is not sculpted, not textured, not lit. It is captured — trained directly from photographs until the recorded light matches the real light, down to reflections on a wet pavement and the bounce off a brass doorknob.

For architecture this is a category change. We are no longer producing a picture of a building. We are producing a navigable record of the building and the ground it sits on, at the exact moment of the capture, preserved pixel-accurate forever.

The pipeline

Five stages, one asset, every screen.

The DARK pipeline is built so the output of stage five — a single splat file — can be dropped into any platform we or the client will ever need. No re-export, no re-bake, no duplicate assets.

01 Source

We start with the real world — straight out of Google Earth.

Every project begins by locking the geography. We pull the terrain tile that covers the site, including the surrounding context: roads, rivers, shoreline, elevation, neighboring structures, mature tree canopy, sometimes even the moored boats and the power-line towers that shape the skyline.

Google Earth gives us three things at once. First, the photographed surface — the actual satellite imagery at the highest zoom level available for that region. Second, the elevation model — a height value for every square meter of ground, so our slopes, hills and embankments match what a drone would actually see. Third, the 3D context — wherever photogrammetric building meshes exist, we reference them so our new design sits into the city the way it will really sit.

The outcome of stage one is not a render. It is a geographically correct, lightly textured base model — a literal slice of the planet — ready to receive the design on top of it.

Inputs Google Earth imagery · SRTM / ASTER elevation · city photogrammetry · site boundary KML
02 Model

We build the entire district on top of it — at full scale, nothing faked.

The base terrain becomes our canvas. On it we construct the design the way an urban master plan is truly built: streets routed to existing contours, plazas keyed to real solar angles, blocks massed to the actual parcel lines, vegetation placed species-by-species from the landscape brief.

Every building in the scene is a real model — not a proxy, not a box — with proper façades, glazing, balconies, roofscapes, ground-floor retail fit-out, signage and lighting. Streetscape details matter too: curbs, bus stops, trash receptacles, parked cars, traffic lights, fire hydrants, the cables crossing overhead, the patio furniture outside a café. At this stage we are modeling what a photographer would actually see if they walked the streets.

This is where traditional ArchViz often stops. For us it is the halfway point.

Tools Rhino · Blender · 3ds Max · Unreal Engine 5 · Megascans · Speedtree · custom urban asset library
03 Capture

We scan the finished model — thousands of virtual photographs.

A Gaussian Splat has to be trained from images. So our next step is to run a virtual photography pass through the fully built scene. We deploy a grid of synthetic cameras — hundreds of them, sometimes thousands — positioned like a drone swarm flying the site: eye-level walking views, rooftop orbits, pedestrian intersections, interior spaces, courtyard level, sky-high establishing shots.

Each camera records not only the color image but also its exact position, orientation and intrinsic parameters. Lighting is locked to the design hour (golden hour, blue hour, overcast noon — chosen by the art director). The renderer is Unreal Engine 5, at cinematic quality: Lumen global illumination, ray-traced reflections, volumetric atmosphere, real material roughness, proper depth-of-field.

The output of stage three is a dataset: a directory of photoreal images paired with a precise camera track — the same input a Gaussian Splat trainer would expect from a real-world drone flight, except every pixel is perfect, every frame is noise-free, and the conditions never drift.

Output 1,500–8,000 images at 2K or 4K · COLMAP-compatible pose file · HDR pass for lighting reconstruction
04 Train

We train the splat — millions of 3D Gaussians, optimized for the scene.

The captured dataset feeds into a Gaussian Splat trainer running on our GPU cluster. The trainer seeds the scene with a sparse point cloud and then iteratively fits millions of oriented Gaussians to the images — adjusting each one's position, size, rotation, color and view-dependent shading until a virtual camera placed at any of the training views produces the same image the camera actually captured.

Training is progressive. The first 2,000 steps produce a blurry but recognizable approximation. By 15,000 steps the scene is sharp. By 30,000 steps we are matching reflections, specular highlights, the glow of signage and the subtle translucency of fabric awnings. Convergence typically lands between 1 and 4 GPU-hours per scene, depending on density and resolution targets.

The output of stage four is a single file — usually .ply or .compressed.ply — that carries the entire scene. No textures, no meshes, no materials, no lighting setup. Just the Gaussians. Somewhere between 800 MB and 6 GB uncompressed, compressible down to 60–400 MB for web delivery.

Process 3DGS · MCMC densification · SH coefficients order 3 · quantized .compressed.ply export
05 Deploy

One file. Every platform.

This is the part that changes the architecture business. The trained splat is one artifact, and that single artifact is all the client ever receives. It plays — unchanged, at full fidelity — across every surface they might want to show it on.

In the browser it runs through a WebGPU viewer — no installer, no login, a shareable link. On a sales-gallery tablet it runs as a native iOS or Android app with locked navigation and branded UI. In a VR headset (Quest 3, Apple Vision Pro) it becomes a life-scale walk-through with full stereoscopic depth. Inside Unreal Engine it drops in as a native asset for combining with real-time lighting. On a public kiosk it runs from a touchscreen with guided tour sequences.

Because the underlying data is identical, a change made to the scene — a revised tower, a new landscape palette, an updated lobby — flows out to every platform the moment the retrained file is published. One update, one file, every screen.

Delivery targets Web (WebGPU) · iOS · Android · visionOS · Quest · Unreal · Unity · native desktop · kiosk
Why we do it this way

What the splat lets your project do.

Five things that were impossible with a traditional render or a real-time game build — and that become routine once the asset is a splat.

Benefit 01

Photoreal, at any angle.

A traditional render is one frame, one angle. A splat is every possible frame from every possible angle, pre-baked into a single file. The buyer can step outside the route the architect expected — and the project still looks exactly as intended.

Benefit 02

No download, no login.

A splat running through our WebGPU viewer opens the moment the client clicks a link. No plugin, no Unity player, no app store review cycle. Sales and investor meetings get a cinematic-quality 3D demo inside a shared Chrome tab.

Benefit 03

VR with zero re-build.

The same file that plays in the browser plays inside Apple Vision Pro and Meta Quest 3 at life scale, stereoscopic, 90 fps. No separate VR pipeline. No two-track production. One asset covers both.

Benefit 04

Cheaper per update.

Because the splat is trained from the Unreal model, a design revision only has to propagate through the model. A re-train is an overnight GPU job — not a full re-shoot, not a re-model, not a re-bake of every platform build.

Benefit 05

Ownership you can keep.

The final file is a self-contained artifact. No runtime dependency on our servers, no licensing fee on a proprietary viewer. Clients who commission a splat from us own a file they can archive, replay, and re-host on their own infrastructure, a decade from now.

Benefit 06

Future-proof by design.

3D Gaussian Splatting is a new primitive for real-time graphics. Every new device — phones, glasses, headsets, car head-up displays — is adding splat support because the format compresses and streams better than any mesh-based scene at the same quality. A splat made today plays on the hardware of tomorrow, without a migration path.

Where it runs

The same splat, on every screen we ship to.

No per-platform re-export. The matrix below is the standard delivery bundle for a DARK Gaussian Splat project — and the file that powers all of them is exactly the same file.

[ 01 · Web ]

WebGPU in the browser

Chrome, Edge, Safari 18+, Firefox 141+. Runs through our in-house viewer or the open-source Brush runtime. Shareable link. Works on desktop and tablet out of the box.

[ 02 · iOS / iPadOS ]

Native iPad app

Metal-accelerated native app. Usable in brokerage suites and investor rooms. Offline-capable. Optional branded UI with locked camera tracks.

[ 03 · Android ]

Native Android

Vulkan / OpenGL ES fallback. Runs on recent Pixel, Samsung, OnePlus devices. Same navigation as iPad build.

[ 04 · visionOS ]

Apple Vision Pro

Immersive space, life scale, full stereoscopic. Hand-tracked navigation. Spatial anchors for persistent placement in a real room.

[ 05 · Meta Quest ]

Quest 2, 3, 3S, Pro

Standalone APK. No PC tether needed. Controller or hand tracking. Comfort mode for architectural walk-throughs.

[ 06 · Game engines ]

Unreal Engine 5 · Unity

Native splat support via LumaAI, 3DGS Unreal plugin, or our own importer. Combine with live Lumen lighting, interactive actors, cinematic sequences.

[ 07 · Kiosk ]

Touchscreen on-site

Windows or macOS native build for sales-gallery screens. Auto-orbit when idle, resume on touch, guided tour sequence on a timer.

[ 08 · Film & animation ]

Post-production plates

Render the splat back out as image sequences for hero film cuts, marketing video, and TV spots — the same asset, re-cinematographed for passive viewing.

1 fileSingle asset · every platform · every screen
4K imagesTypical capture resolution per virtual photo
30k stepsTraining convergence target per scene
90fpsVR playback target — Vision Pro · Quest 3
Live · 7 scenes you can launch right now

Seven Gaussian Splat scenes built by DARK Studio, live in your browser: interior captures, master plans, a landscape, a stadium, an urban district. Click to launch the full real-time walkthrough.

Open the splat gallery →

7 scenes · WebGL2 · Real-time · Desktop · Tablet · Mobile

In the field

Projects built this way.

A selection of recent DARK splat projects — master plans, landmark buildings, historical sites. More being added continuously.

Master plan · Europe

[ Project name ]

Short description of the splat project — scale, client, platform targets. Replace this block with real content.

Landmark · USA

[ Project name ]

Short description of the splat project — scale, client, platform targets. Replace this block with real content.

Heritage · Europe

[ Project name ]

Short description of the splat project — scale, client, platform targets. Replace this block with real content.

Start a splat project

Bring us a site. We'll bring it back as a splat.

Send the address, the CAD, or just the concept — and we'll scope a pipeline in 48 hours, tailored to how your clients will actually view the work.

Request a pipeline brief