Clip space — where it appears
Named by 4 essays across one field — each of them below, with the objects they name alongside it.
Also named here as homogeneous coordinates — the same set of essays touches all of them, so they are one junction rather than several.
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.
What happens behind the eye
A point behind the camera has a perfectly plausible image. Dividing by a negative fourth coordinate flips both signs, so the point lands through the principal point on the far side of the frame, and a segment crossing the eye plane is drawn straight, inside the frame, and running in exactly the opposite direction — a direction cosine of −1.0000.
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.
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.
Named alongside it
The objects these essays reach for when they reach for this one.
Camera matrixDemonstrationHomogeneous coordinatescentre of projectionpoint at infinityProjective mapResidualConditioningCross ratioDepth bufferDepth divisionFocal length