On Thu, 16 Jan 2014 07:51:26 -0800, Martin Nowak <c...@dawg.eu> wrote:

On 01/06/2014 01:52 PM, bearophile wrote:
Mike:

* Break the library into loosely coupled pieces that can be used
individually or aggregated by other projects to build things that we
haven't even thought of
  *  Geometric primitives should be their own library/package
  *  Vector graphics (paths, line caps, etc...) should be their own
library/package
  *  Raster graphics should be their own library/package
  *  Window management should be its own library/package
  *  Font's are just data.  Don't couple them to the rendering
engine.  (e.g  Convert them to a vector/raster representation and then
let those libraries handle the rest.
  *  The rendering engine should be its own library/package, that
should be easily replaced with whatever is suitable for the given
platform.

An independent color system module could be useful, even in Phobos.

Part of the Geometric primitives (2D/3D vectors, rotation matrices, the
most commonly useful geometry algorithms and formulas) could go in a
Phobos module. And the graphics library could import and use this
standard module.

I wrote a vector graphics library quite a while ago.
https://github.com/MartinNowak/graphics
It contains a lot of Path and Bezier curve algorithms and
uses a novel rasterization technique http://josiahmanson.com/research/wavelet_rasterization/.
It's a little outdated and probably won't compile any longer.

It also depends on a small GUI primitives library which contains Color, Point, Size and Rect.
https://github.com/MartinNowak/guip


This is awesome! What's the license on it and can we use it in Aurora?

--
Adam Wilson
IRC: LightBender
Aurora Project Coordinator

Reply via email to