Mip LOD is not the footprint, a reality most evident when observing a grazing checkerboard.
Our previous note on mipmaps photographed the leftover softness: the isotropic band-limits to the major axis and heavily over-blurs the minor axis. That note introduced the problem in a single sentence, but this piece owns the Jacobian, the ellipse axes, and a lab-honest anisotropic sample—specifically, a CPU elliptical weighted average (EWA) that we can actually run and measure on OSMesa and llvmpipe.
For our primary test footprint (, , ), the AC power measures 979.532 under nearest sampling (no mip), 112.848 under isotropic mip, and 98.751 under CPU-EWA. Do not mistakenly sell this metric as "EWA is sharper overall". The leftover AC energy in the isotropic filter consists of box-mip sinc lobes strictly along the major axis. The actual theorem lies in the minor-axis energy (): isotropic retains 4.244 while EWA retains 8.478. EWA preserves more valid detail on the short axis, which is the entire point of the technique.
Assertions on this run: 41 pass / 0 fail. The science mag MAE and the presentation mag MAE . The photo hero MAE(iso, EWA) on the hallway is . By comparison, llvmpipe GL AF vs yields an MAE —a small delta explicitly labeled NOT hardware 16× AF, serving as a reality check rather than the core lesson.
How it presents
We observe the same floor through three different filters. The stimulus is a CPU-authored black and white checkerboard, , with 64 cells spanning the floor, while the walls and ceiling remain a flat gray. There is no debug visualization on the HUD.

Walking through the three panels:
-
NO-MIP: Major-axis frequencies fold. The checkers crawl, sparkle, and moiré toward the vanishing point. This is the same visual as the mipmaps Cornell floor, but now analyzed with a known elliptical footprint in the lab.
-
ISO-MIP: The aliasing fold is mostly gone, but the floor becomes a gray field of over-blur. The isotropic LOD band-limits the short axis as if it were the long one. This demonstrates the exact leftover softness identified but left unresolved in our mipmaps note.
-
CPU-EWA: The major axis remains properly limited, preventing crawl, while the minor axis retains the checker detail. The softness shrinks without reintroducing the fold.
The MAE(iso, EWA) on this specific frame is . You might wonder why we don't simply use Mesa AF for the hero column. On this specific rasterizer, GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT=16 is a software detail; performing the same graze with GL vs yields an MAE of only . That delta is not large enough for an unmistakable isotropic vs. anisotropic lesson, which is why the 3-up uses our CPU-EWA reference.
First, we must verify the near field—magnification behavior must still match exactly.

If the "AF" filter looked artificially sharper here, the entire article would be broken. Every probed pixel on this floor section has .
Next, we look at a photograph of the theorem itself, using the same unproject floor, checker texture, and a known CPU Jacobian:

There are two distinct regimes here that must never be mixed, whether in a 3D room or on a 2D zone-plate:
-
Magnification (ellipse semi-axes and ): This is pure reconstruction. Isotropic and anisotropic filtering must match. In our science path (), MAE(ISO-MIP, CPU-EWA) and is identically 1177.19. In presentation, the near-field frame above also perfectly matches with MAE .
-
Anisotropic minify (one axis , the other closer to 1): The footprint is an ellipse, not a scalar . This regime is the focus of the article.
Software rasterization does not have to flicker. Blurry softness at a locked pose is the result of using the wrong footprint, not a deliberate art direction choice.
Why: Jacobian, ellipse, over-blur
UV Jacobian (texel units)
With in texels and in pixels:
In our science path, this Jacobian is either known exactly from the affine UV construction or computed on the CPU from the projected quad of a locked perspective floor. Do not trust llvmpipe dFdx/dFdy as the science source. While the photograph path may use the hardware sampler, those frames print a=n/a to distinguish them.

Isotropic GL-style scalars (continuity with mipmaps)
Isotropic LOD band-limits both axes to . When , the minor axis suffers from significant over-blur. This mathematical reality is the cause of the leftover softness on the mipmaps hallway and the middle panel of our checker graze.
An isotropic alternative still yields the wrong ellipse. We state this in one sentence and omit an extra frame.
Footprint ellipse
A pixel’s preimage in UV space is the image of the unit pixel under the Jacobian . The semi-axes are derived from the Singular Value Decomposition (SVD) of (the eigendecomposition of ):
The ellipse's orientation matches the major singular vector in UV space. When you draw this ellipse on the texture, it reveals the unique, non-generic artifact we are analyzing.
Our hero construction uses . The SVD yields , , , and . A sheared copy at sits beside it to prove that AF is a truly oriented footprint, not just a naive "blur less in " hack.

We also visualize the Jacobian field on the unproject floor as —meaningfully colored, rather than a rainbow gradient for its own sake. This uses the same camera family as our theorem photograph.

Isotropic vs anisotropic LOD
The gap between them:
This difference is exactly the over-blur—measured in mip levels—along the minor axis. At the constructed hero footprint, : three extra mip levels of softness are unnecessarily applied to the short axis for no valid sampling reason. The eccentricity clamp only grows the minor axis (adding more blur and fewer taps) when . It does not affect our hero case of .
Lab-honest anisotropic sample (CPU EWA-ish)
For each pixel, we take the UV ellipse from the known Jacobian, clamp the eccentricity to , choose a mip level driven by the minor axis (), and accumulate a Gaussian weight over the ellipse across that level and the next. Under magnification ( and ), it gracefully falls back to bilinear L0, identically to the isotropic path. This is our strict reference—it is not Heckbert’s production filter, it is not OpenGL AF, and it makes no claims about Mesa’s sampler. Do not compare it against NVIDIA, AMD, or Intel texel-fetch counts or LOD curves.
Zone-plate (reuse, do not re-litigate)
We reuse a texture with POT, a disk-masked Fresnel chirp, from the same authorship as our mipmaps note:
Because instantaneous frequency rises with radius, an elliptical minify presents a known major-axis fold alongside a known minor-axis remainder.

Unique artifact: the ellipse, then the spectrum
Constructed minify, , , , three filters, three spectra, shared scale. Science is glReadPixels(..., GL_FLOAT) from an RGBA32F FBO, interior crop, mean-subtract, separable Hann, unnormalized radix-2 DFT. Power . Do not FFT the checker photographs.
Nearest, no mip — major-axis fold.


Isotropic mip — fold gone, minor over-blur.


CPU-EWA — major limited, minor kept.


The non-image artifact — overlay and a 1-D cut along the minor axis:

Quote . Do not quote as sharpness.
Using our constructed , , crop 256, padded=1, and clear :
| filter | |||
|---|---|---|---|
NEAREST no-mip |
979.532 | 40.233 | |
ISO-MIP |
112.848 | 4.244 | |
CPU-EWA |
98.751 | 8.478 |
Nearest is predictably hot due to the major-axis fold. Comparing Isotropic vs. EWA on total AC power can be misleading, because EWA also band-limits the major axis. Here, EWA’s is actually lower than isotropic’s (98.751 vs 112.848). The isotropic filter's leftover AC energy is just the box-mip sinc along the major axis. is a radial-mean ratio of the outer annuli—it is even smaller and not the focus of our claim.
is the sum of on bins where (the vertical frequencies, mapping to the minor axis of ). Isotropic retains 4.244 while EWA retains 8.478, which is a improvement. That specific metric, the shared-scale pair, and the 1-D cut form our core claim. Do not invent a "16× sharpness score" or hang metrics on the checker hallway.
Mag control ():
| filter | MAE | ||
|---|---|---|---|
ISO-MIP |
1177.190 | 486.292 | 0 |
CPU-EWA |
1177.190 | 486.292 | 0 |
They are identical. If EWA magically invented detail under magnification, the kernel would be fundamentally flawed.
When ![Eccentricity ![Hann-window ![Honesty ![Science "16× ## ### (yes), (LLVM (MAE (MAE≈0.0034). ()[cite: 16[cite: 16× 19.1.7, 1)). 1]: 2-D 25.0.7 25.0.7-2+deb13u1, 256 8-bit A AF AF," AF. AF[cite: Asserted Assertions: At Bottom: CPU-EWA CPU-EWA[cite: Controls DFT Divergence Do EWA EWA)="0." EWA. EWA[cite: Eccentricity FBO FBO[cite: For Hann Host: However, ISO ISO-MIP It L0 MAE MAE(iso, MSAA Magnification: Mesa Must N="16." NOT Nearest OK). OSMesa, SVD Same Sidelobes The They This Top: We What $ (0.28$ [cite: , [cite:" cite:" (P_{\mathrm{ac}}="1177.19)" (W="128)" (\approx (\mathrm{aniso}="1)," (\mathrm{aniso}\in{1,2,4,8,16}) (\mathrm{diag}(8,1)), (a="b=0.5)," (a,b\le (a/b) (b="1)," GL_EXT_texture_filter_anisotropic GL_LINEAR_MIPMAP_LINEAR GL_TEXTURE_MAX_ANISOTROPY_EXT a a)); actually after alias. aliasing aliasingcite: alongside an and aniso aniso∈{1,2,4,8,16} apply are article as asserted at b="1." b. b))[cite: becomes bilinear bits)[cite: both bottom box box-mip busy, checker circlescite: cleared clearly compares control, crop crop), cross cut delta detail detail. deviation differ documented dominates due ensures environment[cite: essentially every extension extremely fail, fallback far-band filter[cite: fixed fold[cite: for frame, framebuffer from graze graze, grows hallway, hard hardware has have here hero high-aniso hit, honesty in includes inside integrity introduced invent is iso iso, isotropic it its ladder lesson[cite: llvmpipe llvmpipe’s lobes lobes, logically look mag mag, main match max mean-subtraction[cite: mean[cite: measured minor mistaken must near-field nearest, no not of on only. operate or own padding pass perfectly photograph present, quality ratio[cite: real rectangular room row rows sRGB same sampler science self-test, shows sidescite: sinc sitting small, so software spectrum, spectrum. standard stands supported table, teach test tested that the there they this this. three-up to top two used using vs we when which window with would zeros zone-plate λ="log₂" —>1.05\times) iso, the photo hero MAE , and the llvmpipe AF delta .

What we can claim: On this specific OSMesa / llvmpipe build, a constructed elliptical minify of an authored chirp using isotropic mip over-blurs the minor axis relative to a CPU ellipse-aware reference that band-limits using the minor singular value. We can successfully draw the UV footprint ellipse from a CPU Jacobian and display . Mag-control frames where match perfectly across both isotropic and EWA paths. The checker graze effectively demonstrates to a non-lab reader what this means without relying on .
What we cannot claim: NVIDIA, AMD, or Intel hardware AF quality, number of taps, LOD bias curves, or bandwidth. We cannot claim that MAX_ANISOTROPY_EXT=16 on llvmpipe equals a discrete GPU’s 16× mode, or that dFdx/dFdy on llvmpipe equal hardware derivatives. We also do not claim that our CPU EWA reference is Heckbert’s production filter or OpenGL’s AF, nor do we make statements about discrete GPU metrics, occupancy, or "how the hardware works".
Honesty, in short:
-
CPU EWA is not Heckbert and is not OpenGL AF. It uses Gaussian weights, mip levels derived from the minor singular value, and an eccentricity clamp of .
-
MAX_ANISOTROPY_EXT = 16on this llvmpipe is a software detail. The AF frame photographs vs ; they differ by an MAE of . This is not a hardware-AF quality table. -
Box mip-gen is not an ideal LPF. A box in space becomes a sinc in frequency. The residual major-axis lobes in the isotropic column are reported with the same honesty as in our mipmaps note—do not hide them and erroneously blame AF.
-
dFdx/dFdyon llvmpipe are not the science Jacobian. Our science is strictly computed on the CPU. -
is not a "16× sharpness score." You must report and the 1-D minor-axis cut.
-
Pad when . PNG SSAA 1]. 7. 8. AA[cite: AF DFT[cite: Do FFT It L/R Pin The True a acts an and anisotropic as caption, checker clear color combined cover[cite: crop cut edge ellipse equals exact float floor footprint[cite: for foreshorten formula frame geometric hallway honesty is iso/EWA isotropic mean[cite: minor-axis mud[cite: never not of on pair path photo photo[cite: photographs[cite: plus presentation[cite: reason science spectrum substitute the theorem theorem[cite: to turned visualization. with zone-plate>
Controls
Magnification: aniso must not invent detail
Science mag, , three-up nearest / iso / EWA. The asserted MAE is ISO-MIP vs CPU-EWA (both bilinear L0 when ). MAE , both sides.

The near-field checker photograph is that control in a room.
Eccentricity ladder
Fixed minor , , . Top row: isotropic box-mip, — the busy high-aniso look is box-mip sinc lobes, not fold. Bottom row: CPU-EWA, . At the two rows match (circle, no ellipse). Divergence grows with .

llvmpipe AF — honesty frame, not the hero
Same checker graze as the hallway, real sampler, GL_LINEAR_MIPMAP_LINEAR plus GL_TEXTURE_MAX_ANISOTROPY_EXT vs . Extension is present. They differ (MAE ). The delta is small. Far-band std is vs . This is a photograph of Mesa 25.0.7 llvmpipe’s software AF — not a hardware quality table, not “16× hardware AF,” and not the lesson. The article stands on CPU-EWA.

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. GL_EXT_texture_filter_anisotropic yes, max . Assertions: 41 pass / 0 fail, including DFT self-test, SVD of , mag MAE , EWA iso, photo hero MAE , and the llvmpipe AF delta .
Can claim: on this OSMesa / llvmpipe build, a constructed elliptical minify of an authored chirp with isotropic mip over-blurs the minor axis relative to a CPU ellipse-aware reference that band-limits using the minor singular value. We can draw the UV footprint ellipse from a CPU Jacobian and show . Mag-control frames where match across iso / EWA. The checker graze is how a non-lab reader sees the sentence without .
Cannot claim: NVIDIA / AMD / Intel hardware AF quality, number of taps, LOD bias curves, or bandwidth. That MAX_ANISOTROPY_EXT=16 on llvmpipe equals a discrete GPU’s 16× mode. That dFdx/dFdy on llvmpipe equal hardware derivatives. That the CPU EWA reference is Heckbert’s production filter or OpenGL’s AF. Discrete GPU metrics, occupancy, or “this is how the hardware works.”
Honesty, short:
- CPU EWA is not Heckbert and is not OpenGL AF. Gaussian weights, mip from the minor singular value, eccentricity clamp .
MAX_ANISOTROPY_EXT = 16on this llvmpipe is a software detail. The AF frame photographs vs ; they differ by MAE . Not a hardware-AF quality table.- Box mip-gen is not an ideal LPF. A box in space is a sinc in frequency. Residual major-axis lobes in the iso column are the same honesty as mipmaps — do not hide them and blame AF.
dFdx/dFdyon llvmpipe are not the science Jacobian. Science is CPU.- is not a “16× sharpness score.” Report and the 1-D minor-axis cut.
- Pad when . Clear color = zone-plate mean.
- PNG is visualization. Science is the float crop + DFT. Do not FFT the checker photographs.
- SSAA on the photo path is geometric edge AA. It is not a substitute for an anisotropic footprint.
Pin the hallway as the presentation. Pin the foreshorten L/R as the theorem photo. Pin the iso/EWA spectrum pair plus the minor-axis cut as the science theorem. The AF honesty frame is not a cover. The formula is the caption. The ellipse is why the isotropic floor went to mud.