Examples of Our Method vs. Trilinear Filtering

We demonstrate the use of our texture filtering method in three setting: scaling two-dimensional images, sampling textures from a three-dimensional plane, and sampling textures on three-dimensional models. Clicking on the links above an image changes which filter is used to sample that image. Our method combines samples from a mipmap using a pre-computed cardinality-constrained optimization to approximate arbitrary scales and translations of filtered images. Our results are sharper than trilinear filtering and approach the ideal filtered result.

Note: This page uses javascript, and you may have to allow such content in your web browser for the links to work.

Comparison of 2D Image Filters (4x zoom)

Cathedral

Tent Lánczos 2
Original
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear

Phone Booth

Tent Lánczos 2
Original
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear

Wallpaper Flower

Tent Lánczos 2
Original
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear

Yellow-Red Flower

Tent Lánczos 2
Original
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear
  |  
Ideal
  
4 Texels
  
8 Texels
  
Trilinear

Filtering Textures on a 3D Plane (3x zoom)

Lena by Filter

Box Tent Lánczos 2
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels

Lena Sample Numbers

Tent Lánczos 2
Trilinear
  
2 Texels
  
3 Texels
  
4 Texels
  
5 Texels
  |  
Trilinear
  
2 Texels
  
3 Texels
  
4 Texels
  
5 Texels
6 Texels
  
7 Texels
  
8 Texels
  
9 Texels
  
10 Texels
6 Texels
  
7 Texels
  
8 Texels
  
9 Texels
  
10 Texels

Checker by Filter

Box Tent Lánczos 2
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels

Checker Sample Numbers

Tent Lánczos 2
Trilinear
  
2 Texels
  
3 Texels
  
4 Texels
  
5 Texels
  |  
Trilinear
  
2 Texels
  
3 Texels
  
4 Texels
  
5 Texels
6 Texels
  
7 Texels
  
8 Texels
  
9 Texels
  
10 Texels
6 Texels
  
7 Texels
  
8 Texels
  
9 Texels
  
10 Texels

Anisotropic Filtering

Anisotropic filtering relies on isotropic samples. We show results for the Feline sampling algorithm with 16X anisotropic filtering, which assumes that trilinear probes approximate Gaussians. We replace the trilinear probes of Feline with our optimized Gaussian approximation using 8 texels. We compare versus the ideal, which we compute by downsampling a high-resolution rasterization by a factor of 402 pixels to one. This high-resolution image is rendered with mipmapping disabled to avoid bias while sampling the texture.

Fleur de lis (4x zoom)

Isotropic Anisotropic
Ideal
  |  
Isotropic Trilinear
  
Isotropic 8 Texels
  |  
Feline Trilinear
  
Feline 8 Texels

Wallpaper Flower (3x zoom)

Isotropic Anisotropic
Ideal
  |  
Isotropic Trilinear
  
Isotropic 8 Texels
  |  
Feline Trilinear
  
Feline 8 Texels

Filtering Textures on 3D Models

Axe

Box Tent Lánczos 2
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels
  |  
Trilinear
  
4 Texels
  
8 Texels

Lizard

Box Tent Lánczos 2
Trilinear
  
4 Samples
  
8 Samples
  |  
Trilinear
  
4 Samples
  
8 Samples
  |  
Trilinear
  
4 Samples
  
8 Samples