Aurora Graphics Library Initial Design Discussion
Kelet
kelethunter at gmail.com
Sat Jan 18 22:02:12 PST 2014
On Sunday, 19 January 2014 at 05:23:24 UTC, Elvis Zhou wrote:
> https://github.com/Zoadian/aurora
> Oops, I thought this is the official repo!! It's a new package
> added to code.dlang.org yesterday.
Doh, I made the same mistake.
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
My thoughts:
ARM support is abysmal in D, IIRC. This rules out most of the
mobile devices until that situation is relieved. In the meantime,
the code should be tested on LDC and GDC regularly. Once ARM
support is mature on one of the aforementioned backend, it
shouldn't be difficult to finalize support.
I'm not convinced of two things:
- OpenGL should not be used for the 2D API
- Direct3D should be a backend
Ideally, 2D and 3D graphics should be a specific case of a
generalized system which utilizes OpenGL. Thus, there is no need
for a separate backend API for 2D graphics. I've done 2D in
OpenGL and it was not very painful, although it was not a
substantial project.
I've used a ton of OpenGL software on a lot of hardware running
Windows and never encountered a problem or major deficiency which
is not present in Direct3D, hence I don't know why extra effort
should be expended to support it as a backend.
Backends in order of importance, IMO:
- OpenGL 2.0
- OpenGL 2.0 ES
- OpenGL 1.1
- Software
- OpenGL 4.3
There are a surprising amount of people still on OpenGL 2.0 and
1.1. For everything else: Software backend. It wouldn't hurt to
have a 'state of the art' OpenGL 4.3 backend either, but only
after all else is done.
However, my forays into graphics are mainly hobby game
development so I may be missing some elements here.
Regards,
Kelet
More information about the Digitalmars-d
mailing list