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.
_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to