[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