Concept

Sampling grid — where it appears

The array of samples a picture is stored on, whose density per unit solid angle is the reciprocal of the surface's area scale. It is why an equal-area surface and an equal-angle one store a scene at very different densities, and why a count made on one is not a count made on the other.

Named by 17 essays across 6 fields — each of them below, with the objects they name alongside it.

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

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. What that costs can be measured by recovering the camera from the picture — 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.

pipeline · Viewport
leftfrontrightbackupdownacross the left/front seam: 1.80°, with each side straight to 7e-16corner area ×5.196anisotropy √3 = 1.7321 there

Six flat pictures of everything

There is one way to photograph the whole sphere and keep every straight line straight, and it is to stop using one surface. Six flat pictures at ninety degrees cover everything, each of them a perfect pinhole, and the price is paid entirely at the seams — where a straight line does not bend but kinks, by an angle that reaches 45 degrees and is exactly zero for the lines lying in the seam's own plane.

curved · Cubemap
the seat3 chords against the arccurved monitor, 3 flat pieces6.80 mm of sag · 5.50 px at the seat

A curved screen is eight flat ones

A projection matrix is a plane and nothing else, so a curved display cannot be rendered — it has to be driven as several planes and assembled. The gap between chord and arc is the whole error, it goes as the square of the angle each piece spans, and the piece count therefore goes as the inverse root of the tolerance — three for eight pixels, eight for one, fifteen for a quarter.

pipeline · Tiling
11.201.401.6001234how far along the sofa the seat is (m)largest pixel over smallest, across the picturecurvedflat, same widthcurved television against a flat panel of the same widththe curved worst case is at 1.5 m, not at the end

The evenness a curve buys

A curved screen is sold on evenness, and evenness turns out to be three quantities that disagree. On pixel pitch the curve wins from every seat; on the angle the glass is turned through it wins until three and a half metres along the sofa; on the plain distance from eye to glass — the reading the argument is usually made in — it gives up before half a metre.

screen · Screenfov
5710142028400.31310distance along the floor from below the eye (m, log scale)pixels one shadow-map texel spans on screen (log scale)1 pxlamp beside the eyelamp 30 m overheadlamp 40 m ahead, facing backmeasured against the closed form: 4e-91024-texel map · eye 1.7 m · 50° field

A shadow map's texels land by two distances and two cosines

A renderer finds its shadows by taking a second picture from the lamp and storing a depth in every texel. Each texel reaches the screen through the surface it falls on, and how many pixels it covers there is a closed form — two focal lengths, two distances and two cosines. From a lamp beside the eye every texel lands at 0.79 px; from a lamp 40 m ahead facing back, the same map lands texels of 8.69 px on the floor 5 m out.

pipeline · Shadowmap
the whole picture, one density9530²the frustum fitted to the floor7322²the best projective warp of its rows897²the best warp of its rows, any shape840²one texel per pixel of the floor385²the same, with a wall at every point502²facing lamp, floor to 60 m, no texel over a pixel · log scale÷113 by one warp

One warped shadow map, and what it cannot reach

The lamp facing the eye needed a shadow map 9,530 texels square — 90.8 million texels — for none of them to land on the near floor larger than a pixel. Fitted to the floor and warped by one projective parameter, the same map needs 805 thousand; nothing can do better than one texel per pixel of the eye's picture, 148 thousand. What stays out of reach is not the cosine of a surface, which a warp absorbs, but two surfaces that want different densities along one ray from the lamp.

pipeline · Shadowmap
1 holetilt 0°closes at 71.3°

A hole is not preserved

The shadow of a connected object is connected — always, at every lamp position, and for a reason with no geometry in it. A hole survives in neither direction: a ring's shadow closes up at a computable tilt, and an object with no hole in it casts a shadow that has one.

light · Shadowtopology
the frustum fitted to the floor53.61 millionits rows re-spaced, one parameter805 thousandits rows re-spaced, any shape706 thousanda true perspective, one parameter752 thousanda full projective warp154 thousandone texel per pixel of the floor148 thousandlamp 40 m ahead, facing back, floor to 60 m, no texel over a pixel · log scale÷4.6 over any row warp

One homography makes a shadow map the eye's picture

A shadow map for a lamp facing the eye needed 706 thousand texels however its rows were re-spaced, nearly five times the one texel per pixel no map can beat. Warp the whole map by a projective transformation, not only its rows, and it needs 154 thousand — within five per cent of the bound — and every texel, carried into the eye's picture, lands at one pixel. The reason is exact: the eye's picture of a floor and the lamp's picture of the same floor are one homography apart.

pipeline · Shadowmap
near edge: 0.98far edge: 0.76turned 15°, corrected to 16:9, source at panel resolutiondark: more panel per source pixel

Keystone correction spends the panel unevenly

Turn a projector fifteen degrees and keystone correction throws away 18 per cent of its panel — the number a specification quotes. It is the smaller half of the price. What remains is spread unevenly: the near edge of the corrected picture gets a panel pixel for every source pixel, the far edge three-quarters of one, so the far edge carries 58 per cent of the source's detail. A tipped projector keeps more than a turned one, and a lens shift that places the same picture loses nothing at all.

screen · Keystone
camera rolled 11.3°, positions snapped to 1/256 px0 lost · 0 doubled

Ground and sky meet at the horizon without a crack

A ground of rate triangles and a sky of direction triangles share their vertices along the horizon, and rasterised as a graphics processor does it — positions snapped to a fraction of a pixel, every centre given to one triangle by the top-left rule — they lose no pixel and claim none twice, at any roll and any snapping. What the horizon does have is a sliver: a centre that falls within half a snapping step of it goes to whichever side the snapped edge puts it, and one that falls exactly on it, rolled one way, is given to the ground at a weight of zero. A ground stopped at a far plane leaves the crack the shared vertex never does: f·h/D rows.

pipeline · Homogeneous
near edgefar edgeturned 15°, every 96th panel column and row82.2% of a frame

An even spend of the panel is an uneven picture

A keystone correction that spends the panel evenly exists: render the picture straight into the panel pixels that reach the corrected rectangle, one sample each. At fifteen degrees that is 82.2 per cent of a frame's samples, and on the wall it delivers exactly what a full frame does — 0.99 of the source's detail at the near edge, 0.76 at the far — because the panel, not the source, was setting the detail everywhere. It removes no unevenness. On fewer samples it makes the picture worse where it was worst; the even picture is a uniform source of 57.6 per cent of a frame.

screen · Keystone
00.2500.5000.75012345how high the eye is (m)share of the object, and share of the design that landsof the object's surfaceof the design that landsa corridor with a doorway, 7 facesbest surface share 100% at 2.5 m

The eye that reaches the most

A higher eye buys the faces occlusion was hiding and loses design off the far end of the object, so "the best eye" is not a question with an answer until somebody says which of the two they are paying for. On three objects the answer is as high as possible; on a corridor with a doorway in it the two quantities cross and the best height is two and a bit metres.

viewing · Anamorphreach
00.2500.5000.7501-20246rows below the horizon (negative: sky)fog by distance, 1 − e^(−D/L)visibility 300 mvisibility 1.2 kmvisibility 5 kmvisibility 20 kmeye 1.62 m up, f = 740 pxthe last row holds the rest

A ground and a sky share an elevation, not a distance

Read from its own attribute — the ground's rate and weight, the sky's direction — each side of a rasterised horizon reports the elevation of its pixels' rays to 2.2 millionths of a radian, in 32-bit arithmetic as in 64, so a haze painted by elevation crosses the edge without a seam. A fog by distance cannot, and should not: the ground a row below a walker's horizon is 1.2 kilometres away, and at thirty kilometres of visibility the fog steps by 0.85 in one row. A camera's pixel, averaging its area, records a step of 0.69.

pipeline · Homogeneous
020406080-5000500across the corrected picture, mm from its centre (the projector's side to the left)detail per degree for the seat worst placed there (px/°)the source laid evenlythe panel's own densitythe even picturelaid for the audienceturned 15°, 57% of a frame eachpx per degree of view

The even picture is fair to a centred room, and only to it

Judged by detail per degree of each seat's view, the corrected picture that is even on the wall is already the fairest possible for an audience centred on it: a layout drawn for that audience gains its worst seat nothing. For an audience on the far side it is also the best, because the far edge is where the panel is coarsest and the even picture already spends all of it there. Only an audience on the projector's side can be served better — thirty per cent better at a fifteen-degree turn — by putting the samples on the near edge, where the panel has them to give.

screen · Keystone
00.2500.5000.75010.2500.5000.75011.25the largest stretch a painter will accept, log₁₀share of the design that is inside ita flat floora cornera cluster of blocksa seating rakean ascending flighteye at 1.70 m, 2.4 m in front of the picturethe cap a painter will accept

The stretch decides the band

A design band chosen by geometry — the rays that meet the object — includes rays that graze along it, and a grazing ray lands two design points twenty times further apart than the design says. Cap the stretch at four and a bare floor keeps 55 per cent of its design, a corner 80, and the top of a descending flight all of it.

viewing · Anamorphmap
correct from 14 cm, at 160 mm wide12×12 cells · worst 1.57 px

Copying square by square

The taught grid workflow sets a pavement's cell corners out exactly and then fills each cell by eye, and the corners are right while the fill is not — 3.30 px on a picture 690 across at eight cells, falling as the square of the cell. On a wall square to the camera the same fill reads 3e-13 px, which is why the method feels reliable.

construction · Gridcopy
lamp, 1.36 mcorrect from 20 cm, at 160 mm wide2 pieces · 1.6 m back

Where a shadow splits in two

A gantry's shadow is two pieces at a lamp height of 1.36 m, and the crossing to one piece happens at a tangency running the whole length of the beam rather than at a point — the same plane that meets a ball at an aspect of 1.00 to 1 meets the beam at 1736 to 1, and a grid finds the true crossing height to a fitted exponent of 1.00 as it is refined. A ring tipped 70° keeps its hole for a completely unrelated reason, closing only at 71.34°, which is the warning that a shadow's topology changes at a tangency names two different accidents rather than one.

light · Shadowtopology

Named alongside it

The objects these essays reach for when they reach for this one.

ForeshorteningProjective mapResolutionHomographyPicture surfacePoint lightShadow projectionCamera matrixView frustumJacobianKeystoneViewing position

All concepts