[Bf-committers] Bicubic filtering for bump maps, patch + discussion

Αντώνης Ρυακιωτάκης kalast at gmail.com
Wed Oct 26 17:12:12 CEST 2011


Hi everyone, there has been some work by Morten Mikkelsen for
supporting bicubic filtering for bump maps. I have helped adapting the
code to glsl and the result can be seen here:

old:  http://www.pasteall.org/pic/19660
new: http://www.pasteall.org/pic/19659

The patch is here:

http://www.pasteall.org/25833/diff


Notes:
This patch substitutes the "Best Quality" setting on capable GPUs with
bicubic filtering. It may be preferable to make an extra setting
altogether for this?

The functionality relies on GLSL 1.3 and uses the textureGather
function to quickly get samples from nearby texels. Getting the
samples normally would require 16 instead of 4 texture samples.
However only the red component is taken. This implies that for correct
behaviour the rgb scannels need to be identical. Bump maps are usually
monochrome anyway but it is possible to use a colour image as a bump
map with in trunk functionality. After some discussion with Morten we
thought that there are some ways this could be done(with increasing
difficulty IMO):

1) Leave it up to the artist to enforce that he uses only black/white images
2) Use 16 samples and make this an extra setting for good systems
3) Make 1-channel images and a luminance upload path for 1-channel
images. "Best Quality" bump maps only work with one-channel images

Thoughts?


More information about the Bf-committers mailing list