On Sun, 19 Jan 2014 02:07:07 -0800, Mike Parker <aldac...@gmail.com> wrote:
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
Actually those numbers for D3D11 are probably pretty close to accurate
since it's OS dependent. WinXP is current 20%-28% depending on the method
and Vista is 4%. Since D3D11 is on Windows 7 it is quite widespread. I
suspect that with the WinXP EOL in 3 months and the shabby TLS support on
XP that DMD will be relatively quick to deprecate WinXP as well. And I
also suspect that many people will upgrade away from WinXP quite quickly
over the next year.
--
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator