Theme

The thread: Made by something finite

The departures in these fields are not optical. Depth is kept in a fixed number of bits, the picture is a grid of samples that need not be square, and the frame is read over an interval and mostly a row at a time. None of that changes what a projection is; all of it changes what this particular picture is a projection of, and each one has a closed form and a control.
x/z, y/z — the pinholeM·p, then divide by wworst disagreement 4.0e-14 px over 8 verticescorrect from 21 cm, at 160 mm wide42° across · near 0.1 m, far 1000 m What a machine computes

The divide is postponed, not avoided

A renderer does not divide by depth. It multiplies by a four-by-four matrix that carries the depth in a fourth coordinate and divides later, and the postponement is not an optimisation — it is what makes clipping and texture interpolation possible at all. The matrix and this site's pinhole put every point on the same pixel to five parts in a hundred trillion.

00.2500.5000.7501-10123distance from the eye — log₁₀ metresfraction of the buffer's codes used uphalf the codes by 0.20 ma linear map, for comparisonnear 0.1 m, far 1000 mharmonic mean 0.20 m against arithmetic 500 m What a machine computes

The precision a depth buffer has left

Depth is stored as an affine function of one over the distance, so half of a buffer's codes are spent before the harmonic mean of the near and far planes — twenty centimetres out of a kilometre. The resolution goes as the square of the distance, and the fix that works is not more bits.

0.0 ms8.3 ms16.7 ms25.0 ms33.3 mslean 1.052° drawn against 1.055° predicted · a still world leans 0.000°no single viewpoint — the rays miss by 33.3 ms of travelthe frame is a stack of projections indexed by row The rectangle behind the lens

Every row is a different camera

A shutter that reads its rows one after another images each of them from wherever the camera was at that instant, so a frame is a stack of projections indexed by height — a handscroll with the roll running down the picture. Its rays miss their own best centre by the spread of the eye's track, at a ratio of 0.988, and a global shutter's meet to 2 × 10⁻¹⁶ m.

one pixel is an areacentrescornersprincipal point moves0.707 pxfocal length changes by4.5e-13 pxan edge-versus-centre viewport1.303 pxa half-pixel convention is a principal-point error; an off-by-one viewport is a focal-length error8 vertices, all shifted by the same 0.7071 pxspread across marks 0.0e+0 px What a machine computes

A pixel is not a point

Where the sample sits inside a pixel is a convention, and getting it wrong shifts every mark by half a pixel in each axis. This site can say what that costs, because it recovers cameras from pictures — the answer is a principal point exactly 0.707 px from the truth with the focal length untouched, and the other half-pixel mistake does precisely the reverse.

3 m · 18 px6 m · 13 px12 m · 8 pxnear ÷ far = 2.123 against a depth ratio of 2.123exposure 33.3 ms · 6 m/s across the frameeach streak is straight; the set of them is not one kernel The rectangle behind the lens

A frame is an interval

An exposure is not an instant, so a frame is an integral of projections and every moving point draws a streak. The streak is straight, because the image of a straight path is straight — and its length goes as one over the depth, so two objects at 3 m and 6 m blur by lengths in the ratio 2.000. No single kernel describes the frame.

-0.400-0.200000.2000.4000.6000.8001position across the drawn surfacehow far along the real surface, minus how far along the drawn one(√k−1)/(√k+1) = 0.5195at the page's midpoint, 40.9%depth ratio 10 : 1peak 0.5195 at s = 0.760 What a machine computes

A texture does not interpolate on the page

Walking across a drawn surface at a constant rate walks across the real one at a rate that changes, and the worst gap is a closed form in the depth ratio alone — 0.52 at ten to one, more than half the whole range. It is exactly the error a person makes dividing depth by eye, made by a machine, and the fix is the fourth coordinate the pipeline kept.

All themes