plinth

How plinth works

Point at an object, step around it once. plinth works out how far away every pixel is in each view, intersects them into a solid, and hands you the controls to walk around it.

Why two photographs

A head-on photograph tells you how wide a thing is. It cannot tell you how deep it is — that information simply is not in the frame. A second photograph from about a quarter turn round supplies exactly the missing axis.

plinth solves a depth field for each view, isolates the subject from its background, and intersects the two silhouettes into a visual hull: a genuine volume rather than a sheet. It then carves the front and side faces back to the relief each view solved, so the hull picks up real surface shape instead of staying a blocky extrusion. Colour comes from whichever photograph actually sees each part of the surface.

This is not photogrammetry. Two views constrain two axes well and leave the far corners unobserved — a hull is the largest shape consistent with what the camera saw, so concavities the silhouettes cannot reveal stay filled in. It is an honest object built from two photographs, and we would rather say that than imply a full scan.

One photograph still works

Give it a single image and plinth lifts it into a relief — a true 3D surface with real parallax and occlusion, but reconstructed from one angle, with nothing recorded about the back. Turn far enough and you are looking at the back of a solved surface. That is the honest ceiling of single-image reconstruction. Solid backing closes it into an object; cross-section cuts through so you can see the form you have.

Where the work happens

Depth is solved by Depth Anything V2 running inside your browser through Transformers.js — on your GPU via WebGPU where the browser supports it, on the CPU through WebAssembly where it does not. The model is roughly 50 MB and your browser caches it after the first solve.

Nothing is uploaded unless you press Publish. Loading a photo, solving it, adjusting it and exporting a mesh all happen on your own machine, offline-capable once the model is cached. The renderer is served from this site and never calls out at all.

What the controls actually do

Taking it elsewhere

Export GLB, PLY or OBJ to open the geometry in Blender, a game engine or a slicer; export the depth map as a 16-bit PNG (packed across the red and green channels, losslessly) to use the solve in your own pipeline. You can also grab a PNG of the current view or record a turntable as WebM.

Publishing

Publishing uploads two things — your photo and its depth map — to the public gallery and gives you a permalink. Because the depth field travels with it, anyone opening that link gets the full 3D view immediately without downloading the model. Only publish photos you are happy to have public.

Open the studio