Tuesday, December 16, 2014

Fractional Bilinear Interpolation

I've recently developed a new image scaling algorithm.  Out of the box, DirectX hardware supports two basic texture scaling methods: nearest-neighbor interpolation and bilinear interpolation, neither of which work very well for upscaling NES graphics.  Nearest-neighbor interpolation results in aliasing for non-integer scaling ratios, and bilinear interpolation results in blurry images.  Fractional Bilinear Interpolation, so called because bilinear filtering is applied to only a portion of the image (and because it makes for a decent backronym), results in crisp, yet smooth upscaling.