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.
Tent | Lánczos 2 | |||||||||||||||
Original |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
Tent | Lánczos 2 | |||||||||||||||
Original |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
Tent | Lánczos 2 | |||||||||||||||
Original |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
Tent | Lánczos 2 | |||||||||||||||
Original |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
| | Ideal |
4 Texels |
8 Texels |
Trilinear |
Box | Tent | Lánczos 2 | ||||||||||||||
Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
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 |
Box | Tent | Lánczos 2 | ||||||||||||||
Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
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 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.
Isotropic | Anisotropic | |||||||
Ideal |
| | Isotropic Trilinear |
Isotropic 8 Texels |
| | Feline Trilinear |
Feline 8 Texels |
Isotropic | Anisotropic | |||||||
Ideal |
| | Isotropic Trilinear |
Isotropic 8 Texels |
| | Feline Trilinear |
Feline 8 Texels |
Box | Tent | Lánczos 2 | ||||||||||||||
Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
| | Trilinear |
4 Texels |
8 Texels |
Box | Tent | Lánczos 2 | ||||||||||||||
Trilinear |
4 Samples |
8 Samples |
| | Trilinear |
4 Samples |
8 Samples |
| | Trilinear |
4 Samples |
8 Samples |