[cairo] Freetype/OpenGL experiment

Nicolas Rougier Nicolas.Rougier at inria.fr
Tue Dec 27 00:02:34 PST 2011


Thanks. I will try to add the sRGB to see the difference.

Concerning the rendering of glyphs at high resolution compared to target resolution, I'm not sure this would give good results since the resampling would be done by texture filter which must be either nearest or bilinear (OpenGL). I's possible of course to implement other resampling (see glumpy for example) methods but I really wonder if it's worth the effort. Do you have any data on this ?

Also, I'm trying to have automatic gamma correction relatively to dark text on light background (gamma ~1.0) versus light text on dark background (gamma ~2.2). Are there any "official" method to compute this (according to bg/fg colors) ?  For example in gnome 3, I think the popup from the panel (white text on dark black background) could benefit from such gamma correction.


Nicolas



On Dec 24, 2011, at 14:47 , Wolfgang Draxinger wrote:

> On Fri, 23 Dec 2011 20:05:30 +0100
> Nicolas Rougier <Nicolas.Rougier at inria.fr> wrote:
> 
>> All the sources/demos/screenshots are available from:
>> http://code.google.com/p/freetype-gl/
> 
> Excellent work. I think it still need to incorporate proper gamma
> compensation, you can see in the subpixel demo, that fine strokes get
> "washed out". Make FreeType output glyphs linear, create the OpenGL
> context as sRGB output context, or add gamma ramping postprocessor.
> Also to further improve quality, render the glyphs at higher
> intermediary resolution than their target resolution, to allow for
> resampling (rasterization is resampling!)
> 
> IMHO the whole color management belongs into the lower levels of the
> graphics system. Ideally programs worked in a contact color space, and
> only when things get transmitted to the output device the conversion to
> the destination color space happens.
> 
> That being done the only way to further improve the quality would
> probably involve direct rasterization of the glyphs to the target
> buffer (on the GPU).
> 
> 
> Wolfgang
> --
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo



More information about the cairo mailing list