Re: Re: Question with regards to componentAlpha

Keith Packard <[email protected]> Mon, 23 Sep 2002 12:05:21 -0700
Newsgroups gmane.comp.xfree86.render
Message-ID <E17tYWH-0000Es-00@localhost>
Around 15 o'clock on Sep 21, Allen Akin wrote:

> Also, do you have a standard display calibration procedure (or hardware)
> you use before comparing screenshots?

Yes, this is crucial -- attempting to compare AA images on uncalibrated 
monitors is hopeless.  The AA line work by Sun of a few years ago had some 
calibration screens that we might use to adjust monitor gamma using the 
'xgamma' program.

> I haven't looked at the Xft code, but my understanding was that it uses
> simple geometric coverage (a one-pixel-square box filter) with enough
> precision to yield 256 levels in the final result.

Yes, this is how FreeType works.  Xft doesn't do any of this work, it gets
bits from FreeType.  The geometric coverage is computed analytically which
avoids dropouts from very thin elements and a few other features.

While this box filter is "wrong" from a signal processing perspective, it's
essentially correct for LCD screens and pretty reasonable whe using a CRT 
as we take advantage of the frequencies available at pixel edges.

Where Xft does a bit of work is in adapting this box filter to LCD 
screens.  For that, the steps are:

	Scale geometry to pixel size
	Execute hints to adjust geometry
	Triple geometry width (height for rotated screens)
	Box filter (rasterize) to generate separate RGB coverage
	Intra-pixel filter to reduce color fringing

Note that Render doesnt (yet) provide any gamma correction when doing 
image compositing, so the final result on the screen is far from ideal.

Keith Packard        XFree86 Core Team        HP Cambridge Research Lab