Aurora Graphics Library Initial Design Discussion

Adam Wilson flyboynw at gmail.com
Sun Jan 19 22:49:57 PST 2014


On Sun, 19 Jan 2014 22:43:30 -0800, Jeremy DeHaan  
<dehaan.jeremiah at gmail.com> wrote:

> 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!

We'll we're happy to have you on board! I think it would be good to point  
out that WinXP is End-Of-Life in 3 months and IIRC DMD is planning on  
dropping WinXP shortly after EOL because of the shabby TLS support. So for  
the most part I don't think WinXP is worth supporting going forward.

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


More information about the Digitalmars-d mailing list