We approximate filters like in Cardinality-Constrained Texture Filtering (CCTF). Whereas CCTF places no restrictions on which texels to read, we add an additional structural constraint that the texels can be read using a bilinear sampler. This provides better cache coherency and hardware acceleration of the texture filtering, which improves speed, with only a small decrease in accuracy.
download preprint@article{Manson:2014:BAFA, author = {Josiah Manson and Scott Schaefer}, title = {Bilinear Accelerated Filter Approximation}, journal = {Computer Graphics Forum (Proceedings of EGSR)}, year = {2014}, volume = {33}, number = {4}, pages = {33--40}, }
Our method approximates exact texture filtering for arbitrary scales and translations of an image while taking into account the performance characteristics of modern GPUs. Our algorithm is fast because it accesses textures with a high degree of spatial locality. Using bilinear samples guarantees that the texels we read are in a regular pattern and that we use a hardware accelerated path. We control the texel weights by manipulating the u, v parameters of each sample and the blend factor between the samples. Our method is similar in quality to Cardinality-Constrained Texture Filtering but runs two times faster.
The presentation that I gave at EGSR 2014
resample_bilinear.zipOpenGL resampling code using GLSL shaders.
resample_bi_sw.zipResampling code using plain old C++ on the CPU.
bilinear_optimize.zipCode used to perform actual optimization of sample placement and coefficients.
results.zipTables of the results of my optimizations for different table sizes and methods.
images.zipComparison images resulting from this algorithm, CCTF, and trilinear filtering.
The images, executables, and code supplied are from the web page http://josiahmanson.com. These materials are free to use for non-commercial purposes. Any works that use materials from this web page should acknowledge Josiah Manson and the paper Bilinear Accelerated Filter Approximation. For commercial use, please contact Josiah Manson (josiahmanson@gmail.com).