On Sun, 2006-05-07 at 03:37 +0200, Roman Kennke wrote:
> I implemented support for painting (Color, Texture and Gradient, at
> least theoretically - see below) and compositing for the
> AbstractGraphics2D class. This allows for the following:
> 
> http://kennke.org/blog/blosxom.cgi/2006/05/06#java2d
> 
> This means that the rendering pipeline is mostly complete. I have to
> implement clipping properly, which will be done directly in the scanline
> conversion for optimum efficiency (thanks Sven for his hints on that
> topic).
> 
> Note that painting only works for solid colors at the moment
> (java.awt.Color). Textures and gradients still need to be implemented.
> Also note that painting and compositing is slow as hell, partly because
> the algorithm in AlphaCompositeContext is not optimized at all, partly
> because the painting and compositing could be accelerated greatly with
> native support (i.e. using OpenGL or Cairo or homegrown algorithms for
> that). Filling and computing on large arrays (in this case the backing
> Raster) is always a little slow in plain Java. I still want to provide
> Java-only impls for these, but where possible, these operations should
> finally be accelerated (they are the most performance critical parts in
> the rendering pipeline).
> 
> 2006-05-07  Roman Kennke <[EMAIL PROTECTED]>
> 
>         * gnu/java/awt/java2d/AbstractGraphics2D.java
>         (fillShape): Determine user space bounds of shape and feed them
>         into the actual rendering pipeline.
>         (rawSetPixel): Made non-abstract for now. Maybe remove later.
>         (rawSetForeground): Likewise.
>         (getDestinationColorModel): Removed.
>         (getDeviceBounds): Made non-abstract. Provide useful default
> impl.
>         (rawFillShape): Handle paint context.
>         (fillScanline): Implement painting and compositing.
>         (fillShapeAntialias): Handle paint context.
>         (fillScanlineAA): Implemented preliminary antialiasing based on
>         composite context. Not working yet.
>         (fillScanlineAlpha): Removed.
>         (init): Fetch destination raster.
>         (getDestinationRaster): New abstract method.
>         (updateRaster): New backend method.
> 
> /Roman

Committed to the release branch.
-- 
Andrew :)

Department of Computer Science
University of Sheffield

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to