[cairo] MIPMAPPING cairo.

Frédéric Plourde frederic.plourde at polymtl.ca
Thu Oct 16 06:45:13 PDT 2008

Jeff Muizelaar a écrit :
> On Wed, Oct 15, 2008 at 09:14:04AM -0400, Frédéric Plourde wrote:
>>> Are you sure this bilinear sample is correct? It looks far worse than 
>>> anything I have seen. Looks more like the image was scaled to 50% and 
>>> the binlinearly scaled up. The current algorithim only fails if the 
>>> scale is less than 60% or so.
>> Mhh.. yep, pretty sure. What's happening maybe is that the source image 
>> "http://img58.imageshack.us/img58/8669/src1231x1504np1.png" gets 
>> automatically resized in FF3 (and other browsers ?), but is really 
>> bigger than it seems. So, we're really talking about downscaling with a 
>> large factor.... which kills text image as you've seen.
> It looks to me like
> http://img388.imageshack.us/img388/6500/dest1231x1504to840x1026cw3.png          
> is the wrong image. Bilinear filtering shouldn't look that, and it
> doesn't match what I get when I run the test program myself.

Finally guys, you were all right ! ;-)
I don't know what happened, I think ImageShack has screwed up that 
bilinear image... weird !
so here it is as it should be :

and I just realized I showed you images that were downscaled less than 
2X ! duh !
To really see the differences between bilinear and mipmapping perf, 
let's see those other ones  :

* Former 'nearest' and 'bilinear" modes :
  nearest : 
  bilinear : 

* New mipmaping modes :
  nearest_mipmap_linear : 
  linear_mipmap_nearest : 
  linear_mipmap_linear : 

The improved quality here is really clear!  One can even see that 
trilinear (linear_MM_linear) is not - in that case - so different from 
the linear_MM_nearest one.  This is because the target scale is "close" 
to mipmap levels.
The really iinteresting mode is LINEAR_MIPMAP_NEAREST.


More information about the cairo mailing list