Aurora Graphics Library Initial Design Discussion

Mike Parker aldacron at gmail.com
Tue Jan 21 00:38:46 PST 2014


On 1/21/2014 4:49 AM, Adam Wilson wrote:
> On Mon, 20 Jan 2014 05:09:14 -0800, Matt Taylor <taylorius at gmail.com>
> wrote:
>
>> On Monday, 20 January 2014 at 00:23:37 UTC, Adam Wilson wrote:
>>
>>>
>>> Aurora will not be exposing any low-level API to the front-end, that
>>> would be a pretty serious encapsulation violation and could have some
>>> pretty bad consequences for the rest of the API.
>>
>> Fair enough, it sounds like decisions have been made. :-) Personally,
>> I think its a shame - it's not at all clear to me that abstraction and
>> encapsulation deserve such primacy, at the expense of so many other
>> things - but it is what it is. I look forward to seeing how the API
>> shapes up.
>>
>> Cheers
>>
>> Matt Taylor
>
> Well, one of the things that is being discussed is wrapping the
> low-level API's into an abstraction layer then using that abstraction to
> build the retained mode API. This would give you access immediate mode
> rendering, and it would be easier to expose the rendering context to
> that API than it would be the retained mode API.
>

In order to have pluggable renderers, the low-level APIs have to be 
abstracted anyway. The renderer hides the low-level, and the 
higher-level renders through that interface. Whether or not the renderer 
API is exposed determines what sort of flexibility you have with the API 
design at that level. As long as it's hidden, you can make changes and 
adjustments as necessary. If it's intended to be exposed, then the 
design has to be fairly rock solid up front and it becomes more 
difficult to adapt in the future because of backwards compatibility.





More information about the Digitalmars-d mailing list