Archive
Archive / Photo

Photogrammetry for dummies

Nerd facts

How it loads

Photogrammetry for dummies

How the image and 3D model on this page load.

Photos

Photos are not just one resized JPEG. A good source can become AVIF, WebP, and JPEG fallbacks across several widths, with a tiny placeholder so the layout is stable before the real image arrives.

Some images also keep richer variants such as wide-gamut or deep-colour AVIF. Those stay separate from the everyday fallback path, because a phone screen, a desktop display, and an old browser do not deserve the same file.

3D models

Most models here come from photogrammetry: overlapping photos solved into a textured mesh. The browser gets GLB files, rendered posters, lighter and fuller model choices, saved camera framing, and source-format notes where they matter.

Texture compression is treated as real delivery proof, not a label. If a model has ordinary WebP textures, it is described that way until an actual KTX2/BasisU asset exists and is served correctly.

Why the variants exist

Browsers, screens, networks, and media types do not agree on one perfect file. The page stays simple, while the saved asset details keep source kind, quality level, preview confidence, dimensions, format, and fallback intent.

Each asset gets the special handling it needs. The goal is not to show off file formats; it is to make the page choose the right thing quietly, then explain the machinery only when you ask.

A small metal sculpture, too many capture passes, and a model that eventually behaved.

Capture passes

What I tried

Not a tutorial. More like evidence from a small fight with a shiny metal bastard.

01 / Drone

Ideal weather, allegedly.

Overcast, soft light, no hard shadows

Seems I can't even get the upload right. Oh well... Overcast, soft light, no hard shadows are the ideal conditions for a capture like this. I have those photos somewhere. You're just gonna have to trust me, bro.

02 / Drone

A bit closer, same problem. Good.

A drone photo with shadows and direct sunlight. Very useful after an edited post like the one above. No matter. Let's talk accuracy instead.

See those straight-ish things on the ground? Those are exactly, probably, one meter long and have clear markings at certain intervals, which a computer can recognize. That helps when you are trying to identify unique features, place a digital point there, and then track that point over hundreds of images using what can only be described as black magic math. The black magic needs to know where your camera is in three-dimensional space and which direction it is pointing.

03 / Phone

Worse camera, better texture.

The phone shots are not as clean. The depth of field is worse. The phone also tries very hard to make the image look good, and it has "HDR", which of course is suuuper standardized, especially on a Motorola from around 2020.

It probably took a few photos and combined them. Bad for real-life accuracy, but it does indeed make more of a pop. This object badly needs pop. Smooth metal is an uncooperative little shit.

04 / Phone

Look at this stupid thing.

Edges, holes, shiny bits, rough bits, repeating shapes, dirt, tiny details. It is a small nightmare, which is also why it is worth scanning.

05 / Scale

Measuring the measuring sticks. Normal behavior.

Accuracy matters, but as I look back at this a few years later, yeah... I clearly have issues.

06 / Scale

The highly sophisticated measuring device.

I cannot remember what the hell I am doing here. I think I am measuring the diagonal of my homemade one meter, or whatever, precision science device. Elegant? No. Useful? Probably.

Metal photogrammetry model

3D quality · Light · 1.5 MB · No normal/AO
Metal photogrammetry model 3D quality · Light · 1.5 MB · No normal/AO

Photogrammetry is simple until you actually want a decent result. You take a pile of overlapping photos, the software tries to work out where every camera was, and if the gods are bored enough you get a mesh with a texture on it.

These were taken at different times because I did not get the result I wanted the first time. I cannot honestly tell you exactly which frames made it into the model anymore. That is annoying, but it is also pretty normal. These photos are representative enough, and more importantly they tell the story.

There are RAW files too. I ran them through DxO and produced technically better exports, but they are bland as hell without more post work. I am not doing that right now. The JPGs are less pure and more useful, which is annoying but fair.

This is not a perfect scan. Good. Perfect examples are boring and they lie.

Equipment

  • DSLR: Canon EOS 50D. Metadata confirmed on the available CR2 files.
  • Phone: Motorola G(8) Plus. Metadata confirmed on the phone JPGs.
  • Drone: DJI Mini 2. The JPG metadata reports DJI FC7303, which is the Mini 2 camera.

Related

Similar thread
Different angle
From the archive