GNOME Bugzilla – Bug 378115
Trilinear interpolation from pyramid
Last modified: 2008-01-17 01:20:28 UTC
gegl_buffer_get_get_rect_fmt_scale () is currently doing nearest neighbour interpolation to get its result. This should be changed to (optionally if the buffer is configured to do so) use a image pyramid as cache. This would involve 50% 25% 12.5% etc versions of tiles combining 4 (or more including the sampling kernel of the resampling used) tiles from the next higher resolution level in the pyramid to a single tile.
Tentative implementation of tiled pyramid in CVS. Now bilinear/trilinear interpolation to achieve good visual quality when zoomed out. This should probably be added in a manner that allows the current nearest neighbour at nearest plane method to be used when panning/zooming interactivly and a reblit be done with better interpolation when the user stops moving around.
Changed priority to low since it is a purely esthetic enhancement not interacting with other important technologies (yet).
bilinear resampling from the next higher res level in pyramid implemented in CVS.
Doing a box filter from the next higher level, requiring a 3x3 neighbourhood like done for the display in GIMP is probably the next natural step.
2007-09-14 Øyvind Kolås <pippin@gimp.org> >-------* gegl/buffer/gegl-buffer.c: (gegl_buffer_get and friends )replaced >-------the bilinear resampling from the next larger level with a box filter. >-------Only for 8bit formats for now.