[cairo] MIPMAPPING cairo.
Bill Spitzak
spitzak at thefoundry.co.uk
Tue Oct 14 14:29:36 PDT 2008
Frédéric Plourde wrote:
> For those who don't have time to run the test cases, here are some
> visual examples !
>
> 1 - Uniform scalings (Xscale = Yscale)
> ========================
> * Former 'nearest' and 'bilinear" modes :
> nearest :
> http://img84.imageshack.us/img84/5474/dest1231x1504to840x1026wc9.png
> bilinear :
> http://img388.imageshack.us/img388/6500/dest1231x1504to840x1026cw3.png
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.
New examples look very good, though.
I don't like there being lots of options for how to filter. This
counter-intuitively locks down the algorithm so that it cannot be
changed or improved in the future. For instance the default certainly
should not be BILINEAR but instead one of these new filters. However the
current Cairo api has the word "BILINEAR" in it.
Users are interested in these settings:
1. "nice" scaling. They don't care one bit about the algorithm. This is
the default, and emulation of the existing Cairo API should turn
"BILINEAR" into this.
2. "no antialiasing" which is the same as "nearest" here. The purpose is
to emulate really bad backends. Emulation of the existing Cario API
should turn "NEAREST" into this.
3. *maybe* they are interested in "even nicer but slower". However in my
experience all backends eventually merge "nice" and "even nicer but
slower" into the same algorithm.
I recommend the Cairo api be more like this, with no implication as to
what the algorithm is.
--
Bill Spitzak, Senior Software Engineer
The Foundry, 618 Hampton Drive, Venice, CA, 90291, USA
Tel: +1 310 399-4555 * Fax: +1 310 450-4516 * Web: www.thefoundry.co.uk
The Foundry Visionmongers Ltd * Registered in England and Wales No: 4642027
More information about the cairo
mailing list