Aurora Graphics Library Initial Design Discussion

Mike Parker aldacron at gmail.com
Sun Jan 19 02:07:07 PST 2014


On Sunday, 19 January 2014 at 07:55:03 UTC, Adam Wilson wrote:

>
> I picked OpenGL 4.3 primarily because it is compatible with 
> OpenGL ES 3.0 which will make porting to iOS/Android easier. 
> There is nothing stopping Aurora from having a backend built on 
> an older version, but keep in mind that Aurora's front-end sets 
> the required features, and I don't think OpenGL 1.0 can meet 
> them without a rather large assist from handmade CPU 
> algorithms, which will inevitably mar performance over the 
> newer API's.

I refrained from making any comments on backends precisely 
because they're pluggable. I'd /prefer/ to see a baseline of D3D9 
and OpenGL 3.2, simply because of Windows XP, which DMD supports, 
and because Mac support for GL 4.x is not very widespread and 
likely will not become mainstream for a while yet. Even looking 
two or three years out, OpenGL 3.2 will allow us to cover a 
broader user-base than 4.3. But it's not big deal, really. 
Whatever we don't start with can be added later.

I do support the idea of a D3D backend on Windows. The OpenGL 
situation there is better than it used to be, but there are still 
headaches that crop up now and again as a few minutes with Google 
can show. SDL2 and Allegro5 both have D3D renderers by default on 
Windows for good reason. That said, I would put priority on the 
OpenGL renderer, since it runs on all of the platforms DMD 
currently supports.

Here's something to consider, though. The Steam Hardware & 
Software Survey [1] gives a good baseline for the gaming market 
(what used to be called the "hardcore" market, but I think it's 
more than that now). However, I wouldn't consider it anywhere 
near mainstream. Among that market, D3D11 (OpenGL 4.x) 
penetration is only 54%. Fast-forward to a year from now and 
you're probably looking at somewhere between 80-90%. Cut that in 
half for the wider market and you've got a rough baseline for the 
mainstream computer user.

>
> Another backend I'd like to serious consider is AMD's Mantle 
> API, which is even lower-level than OpenGL and DirectX but 
> supposedly 45% more performant. There is no sense not building 
> as much performance into Aurora as long as it doesn't interfere 
> with the ease-of-use goal.

Yeah, that would be a good one. Down the road :)

[1] http://store.steampowered.com/hwsurvey



More information about the Digitalmars-d mailing list