[OpenJDK Rasterizer] Task 2 - line widening

Roman Kennke roman at kennke.org
Wed May 16 03:41:39 PDT 2007


Hi,

> I want to clarify here that my statements below about whether or not and 
> how I might be tainted with respect to creating some quick and dirty 
> alternate implementations of line widening are personal speculation and 
> need to be evaluated by our legal department before we can treat them as 
> fact.
> 
> My intention was to get the ball rolling and lay out possible obstacles 
> that might affect the evaluation of alternative action items.  It was my 
> secondary intention to scare up someone external to offer up some code 
> and given Roman's responses I think that may have been the result... ;-)

Nicely formulated :-) Anyway, I didn't want to taint anybody, nor do I
intent to push classpath's stuff over you. I only want to offer some
help. So let me reformulate my suggestions as question and explanations:

Could a java only implementation for the stroking and AA rendering be
feasible? I've worked on both and found that it's possible to implement
with good performance.

The stroking (BasicStroke) on which I (and others) worked preserves
curves and is comparable in performance (afaict) to the JDK5/6
BasicStroke.

The rasterizer is basically a couple of classes, the base class of which
is ScanlineConverter, which can render Shape objects both AA and non-AA
to some surface (defined by an interface). The performance is quite good
and it doesn't need any allocations except some initial table setup.

/Roman

> > - I've seen the encumbered sources so I could probably be considered 
> > tainted
> > - The main area where I might be considered tainted is in how they 
> > preserve curves in the output
> > 
> > It would be fairly easy to create a standalone polygonal line widener 
> > and run all paths through it flattened, but that would give up some 
> > quality (at least in the short term).  I could probably do that without 
> > even tainting the sources since such algorithms are very straightforward.
> 
-- 
http://kennke.org/blog/




More information about the graphics-rasterizer-dev mailing list