Around 13 o'clock on May 5, Allen Akin wrote:
> I understand and support the effort to produce an > implementation-independent spec. But have we become too focused on > precision in this case? I hope not to have -- the goal is to produce answers which can be reproduced on a wide variety of target devices, not to produce answers that are in some abstract sense "perfect". > For example, is it likely that display effects, like electron-beam > spillover from adjacent pixels, are large compared to the errors that > typically would be introduced by performing the area computations in > lower precision? Absolutely, I'm not interested in computing exact coverage, only in computing a reasonable approximation that is easy to understand, fast to compute and clearly specified. Remember that Render supports two modes for polygon edges -- precise and imprecise. Precise polygons have an exact specification that applications can rely upon so that rendering done in different contexts will always match exactly. Imprecise polygons have requirements from the spec controlling their behaviour to ensure "reasonable" looking results, but precise pixelization is not required. It's very likely that some implementations of "imprecise" polygons hardware will generate results closer to exact coverage than whatever "precise" specification we come up with, but as you say, the differences should be entirely masked by other factors, not the least of which is that we're modeling pixels as squares. The sub-pixel area coverage can now be computed entirely in 32 bit arithmetic. Render supports up to 16 bits of alpha channel, making lower precision arithemetic infeasible; of course, we could specify variable precision depending on the actual alpha depth, but that seems like a lot of effort. We'll need higher precision for walking the polygon edges; fortunately, modern hardware (or at least modern compilers) provide a 64 bit datatype for that purpose. Keith Packard XFree86 Core Team Compaq Cambridge Research Lab _______________________________________________ Render mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/render
