Aurora Graphics Library Initial Design Discussion

Jeremy DeHaan dehaan.jeremiah at gmail.com
Sun Jan 19 22:43:30 PST 2014


On Monday, 20 January 2014 at 06:11:45 UTC, Adam Wilson wrote:
> On Sun, 19 Jan 2014 21:59:57 -0800, Jeremy DeHaan 
> <dehaan.jeremiah at gmail.com> wrote:
>
>> On Sunday, 19 January 2014 at 03:38:30 UTC, Adam Wilson wrote:
>>> System		 2D API   / 3D API
>>> Linux		  X11      / OpenGL 4.3
>>> Android		Canvas	 / OpenGL ES 3.0
>>> OSX		    Quartz2D / OpenGL 4.3
>>> iOS		    Quartz2D / OpenGL ES 3.0
>>> Windows		Direct2D / Direct3D 11
>>> Windows	RT     Direct2D / Direct3D 11
>>
>>
>>
>>
>> This is tricky for WinRT, which doesn't support OpenGL, but I
>> think that we should use OpenGL for both 2D and 3D on as many
>> systems as possible. Not long ago, Valve had a blog post[1] 
>> about
>> how, even on Windows, OpenGL has faster calls. It also keeps 
>> the
>> code under the hood roughly the same despite the system.
>>
>> Also, if you are looking for an example of using OpenGL for 2D 
>> on
>> multiple systems, take a look at SFML[2]. It's graphics package
>> is 2D only, but it runs on Windows, Linux, OSX, and the Android
>> and iOS parts are nearly finished. Definitely more geared 
>> towards
>> games, but it could make a good starting point.
>>
>> [1] http://blogs.valvesoftware.com/linux/faster-zombies/
>> [2] https://github.com/LaurentGomila/SFML
>
> I understand the speed argument, and I keep seeing it, however, 
> Aurora is not primarily about speed, it's about ease of use and 
> working well on a multitude of platforms. As Mike Parker has 
> mentioned more than once, OpenGL on Windows is not quite as 
> consistent in it's rendering of the same command as it is on 
> other platforms due to the fact that GPU vendors are required 
> to implement all of OpenGL instead of just the driver 
> interface. This invariably leads to rendering "bugs". DX 
> doesn't have this problem. So on Windows, for the sake of 
> consistency, Aurora will be using DirectX as the default 
> backend. Note that Mike is primarily responsible for SDL in D 
> so he does know what he is talking about it. I won't stop 
> anybody from writing an OpenGL backend for Windows, it just 
> won't be the default.

Actually, that's isn't a bad point. One thing I forgot to 
mention(though I suppose it is a little moot to bring it up now), 
is that OpenGL depends on what the video card supports, so even 
on Windows XP, someone could still access OpenGl 3+, which is 
increadibly common these days. That might be something to 
consider.

That aside, I'm pretty excited for this. I have many, MANY, ideas 
for things that I will be making once this is up and running. I 
work on the D binding for SFML, so I have a tiny bit of 
experience when it comes to some of these things. I would love to 
help in any way that I can!


More information about the Digitalmars-d mailing list