Aurora Graphics Library Initial Design Discussion

Adam Wilson flyboynw at gmail.com
Mon Jan 20 00:29:31 PST 2014


On Sun, 19 Jan 2014 17:38:26 -0800, Tofu Ninja <emmons0 at purdue.edu> wrote:

> On Monday, 20 January 2014 at 01:15:26 UTC, Adam Wilson wrote:
>> Show me how it could be done in a Low-Level API Agnostic way without  
>> violating encapsulation (don't leak the low-level API to the front-end)  
>> and we'll consider it. If the user must import a Low-Level API (DX/OGL)  
>> to work with Aurora under all use cases to get Aurora to compile then  
>> we've failed. There might be a way to do it with a special package for  
>> that purpose, but it'll have to be carefully built. I still like  
>> returning the context as a void pointer for people who know what their  
>> doing.
>
> Almost all the backends support the same set of tools, so a proper  
> abstraction over the backends to make an immediate mode api is not  
> farfetched at all. Once that was complete, the retained mode api could  
> be built on top of that without any need to know what was underneath.  
> All I proposing is that an extra layer of abstraction be put in that  
> will greatly increase the flexibility of Aurora.

Ok, I see were you are headed now, and it's not an all bad idea. Although  
it will introduce a layer of abstraction, however thin, that will  
negatively affect performance. If that is acceptable to the community I am  
fine with that since we've never claimed that Aurora was going to set any  
speed records, nor are we trying to. It won't make for the best gaming  
performance, but it should allow for reasonable performance in most  
scenarios.

I'll put this on the list as tentative pending community approval. :-)

-- 
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator


More information about the Digitalmars-d mailing list