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