Graphics Library for D

Boyd gaboonviper at gmx.net
Wed Jan 8 02:57:45 PST 2014


I could definitely use something like this. I'm currently working 
on a GUI library, and I still could use a decent graphics 
back-end. I suspect Aurora could function in this capacity.

I would love to contribute, though my experience with graphics is 
mostly limited to Win32 GDI. However, I could probably help with 
testing it in the early stages.

Also, I'm wondering if you are planning to include(or at least 
support a possible implementation) perfect anti-aliasing and 
stuff like that. I know AntiGrain has been mentioned here, I've 
used it in the distant past for text rendering, and it was pretty 
cool to have that kind of quality. For a lot of applications, the 
performance won't be effected much by this, and in some 
applications quality is very important.

----------------
On Monday, 6 January 2014 at 04:11:07 UTC, Adam Wilson wrote:
> Hello Fellow D Heads,
>
> Recently, I've been working to evaluate the feasibility and 
> reasonability of building out a binding to Cinder in D. And 
> while it is certainly feasible to wrap Cinder, that a binding 
> would be necessarily complex and feel very unnatural in D.
>
> So after talking it over with Walter and Andrei, we feel that, 
> while we like how Cinder is designed and would very much like 
> to have something like it available in D, wrapping Cinder is 
> not the best approach in the long-term.
>
> With that in mind, we would like to start a discussion with 
> interested parties about building a graphics library in the 
> same concept as Cinder, but using an idiomatic D implementation 
> from the ground up. Walter has suggested that we call it 
> Aurora, and given the visual connotations associated with that 
> name, I think it is most appropriate for this project.
>
> I know that the community has worked through a few of the 
> problems involved. For example, I can't remember who wrote it, 
> but I've seen a module floating around that can create a window 
> in a cross-platform manner, and I know Mike Parker has been 
> heavily involved in graphics for D. And no discussion of 
> graphics would be complete without Manu, whose input Walter, 
> Andrei, and I would greatly appreciate.
>
> I want to point out that while Cinder will be the design 
> template, the goal here is to use D to it's maximum potential. 
> I fully expect that what we end up with will be quite different 
> than Cinder.
>
> Due to the scope of the project I think it would be best to 
> execute the project in stages. This will allow us to deliver 
> useful chunks of working code to the community. Although I 
> haven't yet heard anything on the subject, I would assume that 
> once Aurora reaches an acceptable quality bar it would be a 
> candidate for inclusion in Phobos, as such I would like to 
> approach the design as if that were the end goal.
>
> The logical phases as I can see them are as follows, but please 
> suggest changes:
>
> - Windowing and System Interaction (Including 
> Keyboard/Mouse/Touch Input)
> - Basic Drawing (2D Shapes, Lines, Gradients, etc)
> - Image Rendering (Image Loading, Rendering, Modification, 
> Saving, etc.)
> - 3D Drawing (By far the most complex stage, so we'll leave it 
> for last)
>
> Here are a couple of things that Aurora is not intended to be:
> - Aurora is not a high-performance game engine. The focus is on 
> making a general purpose API  that is accessible to 
> non-graphics programmers. That said, we don't want to purposely 
> ruin performance and any work and guidance on that aspect will 
> be warmly welcomed.
> - Aurora is not a GUI library. Aurora is intended as a creative 
> graphics programming library in the same concept as Cinder. 
> This means that it will be much closer to game's graphics 
> engine, in terms of design and capability, than a UI library; 
> therefore we should approach the design from that standpoint.
>
> My personal experience in graphics programming is almost 
> completely with DirectX and Windows so I would be happy to work 
> on support for that platform. However, we need to support many 
> other platforms, and I know that there are others in the 
> community have the skills needed, your help would be invaluable.
>
> If you are interested in helping with a Cinder like library for 
> D and/or have code you'd like to contribute, let's start 
> talking and see what happens.
>
> While I do have some ideas about how to design the library, I 
> would rather open the floor to the community first to see what 
> our combined intellect has to offer as I don't want to unduly 
> influence the ideas generated here. The idea is to build the 
> best technical graphics library that we can, not measure egos.
>
> So with the above framework in mind, let's talk!


More information about the Digitalmars-d mailing list