Aurora Graphics Library Initial Design Discussion

Adam Wilson flyboynw at gmail.com
Sun Jan 19 22:11:44 PST 2014


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.

-- 
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator


More information about the Digitalmars-d mailing list