Aurora Graphics Library Initial Design Discussion
Adam Wilson
flyboynw at gmail.com
Sun Jan 19 16:20:48 PST 2014
On Sun, 19 Jan 2014 11:47:11 -0800, Paul O'Neil <redballoon36 at gmail.com>
wrote:
> On 01/18/2014 10:38 PM, 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
>>
>> The reason for targeting relatively new low-level API versions is that
>> by the time we actually complete the bulk of the work, they won't be new
>> anymore. If anyone has a suggestion for a 2D API on Linux that has the
>> ubiquity of the X11 but is easier to use, please mention it! I would
>> like to have a Wayland backend but that API is still very new and not
>> widely adopted. I've noticed that Android and iOS seem to have many
>> options for 2D graphics, none of which I've had a chance to evaluate
>> rigorously, any recommendations would be appreciated.
>
> The choice of X11 (as it is generally used now) / Wayland seems to be
> the wrong layer of abstraction to me. While X11 has drawing
> privimitives, my understanding is that they are generally not used. This
> is one of the motivating reasons for developing Wayland. Applications
> draw their content, then send it to X to display on the screen. Wayland
> is designed around this path. Choosing X11/Wayland as a backend is
> fine, but it would require that there be something filling up the
> framebuffer (Cairo, OpenGL, whatever). On the other hand, choosing a
> renderer (Cairo, OpenGL...) doesn't specify how the content gets to the
> screen, so I think there's really 2 choices here: rendering backend and
> windowing backend. The 3D API will still need to depend on X11/Wayland
> to get a window on screen.
>
> I have no knowledge of how input works in either X11 or Wayland.
>
> Writing Aurora to render to some kind of buffer is future-proof enough
> against Wayland, I think. Likely, the initial set-up and input would
> have to be rewritten, but the rest would be OK.
>
> Caveat: I'm only ~80% sure about all of this.
>
> My GPU only supports OpenGL 3.x... maybe it's getting old.
>
> Paul
As I understand it there will always be an X11/Wayland dependency to get
the window but to be honest I would like to keep the usage of X11 to a
minimum. I have a feeling that the 2D portions of the backend for Linux
will be written in OpenGL.
--
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator
More information about the Digitalmars-d
mailing list