Lecture 5: Texture Mapping (57)

I think one of the advantages of bilinear interpolation is what was mentioned in lecture, linear is 'friendly'. It seems like a less complex option, with still reasonable performance. If you wanted a better resulting image, functions of higher degree would preserve more detail but I imagine would be more complex to implement/could be computationally expensive so there's a tradeoff. This link has a nice written out article on bilinear interpolation for anyone else who finds it helpful to read about material in addition to hearing about it: https://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/interpolation/bilinear-filtering


And for interesting side by side comparisons, https://www.youtube.com/watch?v=YTIPXYg87Mw https://www.youtube.com/watch?v=FTyBoiqt7H4

Watching in high resolution, you can see some differences between the 3 methods in the sharpness of the resulting visuals. We didn't talk about Lanczos in lecture but it seems like it's a more complicated function that uses trig (https://en.wikipedia.org/wiki/Lanczos_resampling)


From this link (https://www.brockmann-consult.de/beam/doc/help/general/ResamplingMethods.html), a potential disadvantage of bilinear filtering is that it can interpolate new values into the output not seen in the input. For example, color sensitive applications could lose information about absolute values at important parts of the image. Bilinear filtering is also more computationally expensive than nearest neighbor.


To attempt to answer the question posed by the slide, "What is a theoretically ideal filter?", the theoretically ideal filter is the filter that outputs the true color of the object at the sampled screen coordinate. It would basically fill in the information that is missing from the image, which is being upsampled due to being of insufficient resolution. A very high degree polynomial would not necessarily be ideal, as it may introduce noise that was not present when the picture was taken.


The reconstruction filter k(x,y) for bilinear interpolation is the tent filter, and the reconstruction filter for nearest is the box filter: https://en.wikipedia.org/wiki/Reconstruction_filter and page 207 of the textbook

You must be enrolled in the course to comment