[Pixman] [PATCH 0/4] Meet the FPU-based implementation of the core pixel pipeline
Bill Spitzak
spitzak at gmail.com
Tue Sep 21 11:23:40 PDT 2010
Another thing to think about with floating point pixels is to perhaps do
math in *linear* floating point. This is values where multiplying by N
makes it N times brighter, no matter what the color.
This requires gamma correction when converting the output to the screen.
If the screen takes integers, I have found this can be done with lookup
tables using the top bits of the floating point number that provide a
linear equation of the lower bits to arrive at the integer to arrive at
an 8.24 format. The low bits can then be used for error diffusion
dithering, which fixes Mach banding in very shallow gradients.
One problem is that composites of transparent areas look different than
other software.
Another harder problem is that white-on-black thin lines and fonts look
much thinner than black-on-white ones. In this case users actually
expect the inversion to be done in gamma space.
More information about the Pixman
mailing list