The usual sentence is: mipmaps blur when things get far. Wrong family.
A mipmap presents in the scene as the legal band-limit of whatever albedo the pixel grid can still hold. Skip the chain and high-frequency wood, brick, glyphs, tiles keep feeding frequencies one sample per pixel cannot represent. Those frequencies fold. Distant floors sparkle, crawl, moiré. Specular can glitter too. Put a box pyramid under trilinear and the false pattern collapses into soft legal wood, soft legal brick, a soft legal disk. The near field — magnification — must still look the same.
Cornell and the hallway are that sentence in a room. The zone-plate FFT is why the missing energy was folded, not artistically blurred.
Look at a Cornell box. Same camera, twice.

Left: GL_NEAREST, no mip. Satin wood planks, a letter-grid wallpaper, brushed metal — all authored finer than the far pixels can hold. The floor sparkles. The small glyphs turn to moiré. The metal can glitter. Right: CPU box pyramid on albedo and roughness, GL_LINEAR_MIPMAP_LINEAR. Those false high-frequency patterns collapse. What remains is wood the pixel grid can actually represent. The tall box and the short box are close; both sides still read. That is how a mipmap presents. Not a fog. Not “far therefore blur.” A pre-band-limited level.
The everyday extra is a hallway you already know how to walk down.

The fold is the vanishing floor. Near door frames still match — magnification is reconstruction. The leftover softness on the right is isotropic over-blur ( band-limits to the major axis). No AF claim. No “this is how NVIDIA picks a level.”
A distance strip makes the two regimes unmixable, in wood:

NEAR must match. If “mip” looks softer on a close floor, the article is broken. FAR is the fold: no-mip grain still crawls; mip is the legal plank.
Grazing, the GGX spec streak on the varnish should still read as a floor. The fold is still the wood.

Close on the metal box: brush vs mip, green-wall bounce on the flank, floor seams. The “MIP” decal is near-field and stays readable.

Shade is Cook-Torrance GGX so the room feels like a photograph, not a Lambert lab. Lighting is points + an analytic ceiling rectangle + a cheap IBL lobe — not a path tracer. Linear lighting, ACES display. CPU box SSAA so silhouettes read. None of these frames enter the CSV. None of them get an FFT. HUD: PBR photo-only … GGX … rho=n/a. The hero numbers stay on the chirp.
That is the presentation. Here is the proof that the missing energy was folded.
The lab version of the same sparkle
A circular zone-plate (Fresnel chirp). Instantaneous frequency rises with radius, so there is a known Nyquist ring. Same texture, same ortho pose, minified at a locked footprint (): eight texels per pixel, one sample per pixel.

The disk is a moiré. That is not “too far.” That is energy from above the new Nyquist sitting at a lower frequency — the same sentence as the Cornell floor, with a known .
Bilinear without a mip chain is not a fix. GL_LINEAR is a triangle filter. It takes some of the heat out and leaves the fold.

Now the same footprint with a CPU box pyramid and GL_LINEAR_MIPMAP_LINEAR — and, on the right, a pyramid that is only a pyramid.

Left: the legal disk. Right: a smaller picture of the same aliases. A mip chain without a low-pass is not a mipmap. The right column exists so “we generated mip levels” cannot be confused with “we band-limited.” A Cornell with a point-sampled pyramid would still sparkle.
Two regimes, never mixed
Magnification (, ) is reconstruction. Mip and non-mip must match. If “mip” looks softer here, the note is broken.
Minification (, ) is band-limit or fold. This is the article.
On this run, : LINEAR vs LINEAR_MIPMAP_LINEAR, MAE . Both samplers are reading L0 with linear magnification. That column is the control, not the hero. Same control as the distance-strip NEAR column.

At the authored chirp has only started to kiss the new Nyquist; still matches. From the top row is a lattice of aliases and the bottom row is a shrinking legal disk. Pixel MAE in minify is not the theorem — at MAE is only because no-mip is already a gray field of aliases. Structure still diverges.
, , and the fold
This lab’s is the GL footprint: texels per pixel. On the ortho science quad it is arithmetic, not dFdx:
Locked . Hero: , , . cannot fit a 1024-wide UV window on a 512 framebuffer; the mag control shows the center texels ().
A texture frequency (cycles/texel) appears on screen at . Screen Nyquist is cycle/px. Fold when
At , anything above cycle/texel is past the new Nyquist. Wood grain, brick edges, glyph stems, tile grout all live in that regime once the surface is small enough on screen. They have nowhere legal to go except a lower . That lower is the sparkle.
The zone-plate is a Fresnel chirp, disk-masked, authored at pixel centers:
Most of that disk has nowhere legal to go, at , except a lower . L0 is authored at or under Nyquist and then measured — not a brick-wall bandlimited field.


A 1-D chirp is the cousin with a single ridge. Phase is locked so ; the naive would have aliased the right half of L0 and we would have been measuring our own authoring bug.


The theorem is the spectrum
PNG is a 16-entry heat LUT of , . Science is glReadPixels(..., GL_FLOAT) from an RGBA32F FBO, interior crop, mean-subtract, separable Hann, unnormalized radix-2 DFT in this binary. Power . Same vmin/vmax on the pair so you can actually compare. Do not FFT the Cornell PNG.
Nearest, no mip — fold:

Bilinear, no mip — still hot at high , vmax still :

Box-mip vs point-subsample, same scale as 05:

That pair is the theorem. High- energy in 05 is not in 09-left. 09-right is 05 again, because a point-sampled pyramid never low-passed. The Cornell floor went soft because of 09-left, not because of 09-right.
The box in space is a sinc in frequency:
Sidelobes above the new Nyquist are visible in 09-left. That is honesty, not a driver bug. glGenerateMipmap was not used; Mesa’s path is blit / box-ish anyway. Semantic albedo and ORM use the same CPU box. Point-subsample is the control:
Trilinear is . Not a claim about hardware quality.
Quote . Do not quote as .
Radial
with . Annuli are weighted equally, so Hann / box-sinc lobes in the outer rings keep the ratio from collapsing even when the fold is gone.
, , crop 256, padded=1, measured on this run:
| filter | vmax | ||
|---|---|---|---|
NEAREST no-mip |
0.274 | 898 | 2.21 |
LINEAR no-mip |
0.256 | 379 | 2.21 |
| box-mip trilinear | 0.241 | 30 | 0.998 |
| point-subsample | 0.328 | 899 | 2.22 |
textureLod |
0.241 | 30 | 0.998 |
moves . That is not a drop. Pixel-weighted is . At , radial is higher for box-mip than for LINEAR ( vs ) while falls .
is the sum of except DC. 898 vs 30 is . That, and the shared-scale pair, is the claim. textureLod matched the implicit-LOD photograph on this ortho build. Do not hang those numbers on the wood floor. Cornell is the presentation; the chirp is the meter.

When the quad is smaller than the crop ( or ), the framebuffer is cleared to — the zone-plate mean — so the pad is zeros after mean-subtract (padded=1 in the CSV). A hard rectangular cut would have been a 2-D sinc that owns every filter.
The Hann window used on every crop has its own spectrum, so its cross is not mistaken for aliasing:

Spectrum follows , not “distance”
There is no camera on the ortho path. lodBias at fixed :

| bias | ||
|---|---|---|
| 2 | 110 | |
| 3 | 30 | |
| 4 | 0.27 |
Under-bias leaves residual fold. Over-bias kills almost all AC power. Same cells via textureLod. That is a level pick. The Cornell softness is the same knob: which prefiltered level the sampler landed on, not how many metres the camera walked.
Force the level on a window and the disk shrinks because said so, not because the quad moved:

along that strip: 1146, 1042, 815, 437, 144. Residual box-sinc lobes at are the same honesty gap as 09-left.
GLSL 330, one uniform:
vec4 s = (uMode == 1) ? textureLod(uTex, vUV, uLod)
: texture(uTex, vUV, uBias);
textureQueryLod is out (GLSL 400). The LOD photograph is a falsecolor mip chain plus NEAREST_MIPMAP_NEAREST. On this llvmpipe with GALLIVM_PERF=no_filter_hacks, implicit matched the CPU ladder. Do not take that to NVIDIA / AMD / Intel. Do not claim dFdx equals hardware derivatives. The science path does not care: CPU , CPU pyramid, textureLod.

Isotropic mip is the wrong ellipse
One photograph, no on the HUD, no AF table. This is the leftover softness on the hallway mip side, said with a zone-plate.

band-limits to the major axis and over-blurs the minor. EWA / anisotropy is the cousin this note does not run. llvmpipe is not a discrete-GPU quality study.
What the PBR path actually is
Cook-Torrance GGX, metalness-roughness, GLSL 330. is GGX / Trowbridge-Reitz, is Smith with Schlick-GGX, is Schlick. Direct lighting form, not a path tracer. No Toksvig. Albedo and ORM both get the CPU box. Display is ACES (Narkowicz) then from a linear FBO.
The room photographs are hi-res: gallery , CPU box SSAA (not GL MSAA). SSAA is for geometry — box edges, lamp quad, door frames, hallway vanishing lines. It slightly averages the no-mip sparkle; the fold vs band-limit pair still reads. The zone-plate / FFT frames stay at , FBO .
Cornell is the layout, not a GI benchmark. Area light + bounce points + gradient IBL is a look. PBR does not change the theorem.
What this box actually measured
Host: OSMesa, Mesa 25.0.7-2+deb13u1, llvmpipe (LLVM 19.1.7, 256 bits). FBO RGBA32F, 8-bit fallback not hit, no sRGB, no MSAA on the science FBO, wrap CLAMP_TO_EDGE. Assertions: 27 pass / 0 fail, including DFT self-test, MAE , and nearest mip (898 vs 30). Semantic frames are extra outputs, not extra checks.
Can claim: on this rasterizer, minifying an authored chirp without a mip chain folds energy; a CPU box pyramid plus trilinear sampling removes most of that AC power; we measured it with this binary’s DFT of a float readback; the sampler pictures are pictures of this rasterizer, including a PBR Cornell and a hallway.
Cannot claim: hardware LOD, anisotropy quality, texel cache, bandwidth, occupancy, or “this is how GPUs work.” Cannot claim the zone-plate is a perfect LPF source. Cannot FFT the PNG and call it science. Cannot hang on a wood floor.
Box ideal LPF. Point-subsample mipmap. the drop. Pad with the mean, or the window owns you. Magnification MAE has to be zero or the note is broken. A mipmap presents in the scene as a legal band-limit, not as distance-fog.