Graphics Library for D

Martin Nowak code at dawg.eu
Thu Jan 16 07:51:26 PST 2014


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



More information about the Digitalmars-d mailing list