DConf 2014 Day 2 Talk 3: Designing an Aurora: A Glimpse at the Graphical Future of D by Adam Wilson

via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Wed Jul 9 09:21:54 PDT 2014


On Wednesday, 9 July 2014 at 15:03:13 UTC, Tofu Ninja wrote:
> I am not exactly sure where you are get that idea, Metal is the 
> same, buffers+shaders. The major difference is the command 
> buffer that is being explicitly exposed, this is actually what 
> is meant when they say that the the api is getting closer to 
> the hardware.

Yes, but 3D APIs are temporary so they don't belong in a stable 
development library. Hardware and APIs have been constantly 
changing for 25 years.

My point was that the current move is from heavy graphic contexts 
with few API calls to explicit command buffers with many API 
calls. I would think it fits better to tiling where you defer 
rendering and sort polygons and therefore get context switches 
anyway (classical PowerVR on iDevices). It fits better to 
rendering a display graph directly, or UI etc.

>> this to be exposed to the user in some form, this is what metal
> does, I believe mantel does something similar but I can't be 
> sure because they have not released any documentation.

Yes, this is what they do. It is closer to what you want for 
general computing on the GPU. So there is probably a long term 
strategy for unifying computation and graphics in there 
somewhere. IIRC Apple claims Metal can be used for general 
computing as well as 3D.

>> probably also with some expectations of supporting the 
>> upcoming raytracing accelerators.
>
> I doubt it.

Why?

Imagination Technologies (PowerVR) purchased the raytracing 
accelerator (hardware design/patents) that three former Apple 
employees designed and has just completed the design for mobile 
devices so it is close to production. The RTU (ray tracing unit) 
has supposedly been worked into the same series of GPUs that is 
used in the iPhone. Speculation, sure, but not unlikely either.

http://www.imgtec.com/powervr/raytracing.asp

>> AMD is in talks with Intel (rumour) with the intent of 
>> cooperating on Mantle.
>
> I don't know anything about that but I also doubt it.

Why?

Intel has always been willing to cooperate when AMD holds the 
strong cards (ATI is stronger than Intel's 3D division).

http://www.phoronix.com/scan.php?page=news_item&px=MTcyODY

> On the contrary, all this movement towards low level API is 
> actually causing the API's to all look vary similar.

I doubt it. ;-)

Apple wants unique AAA titles on their iDevices to keep 
Android/Winphone at bay and to defend the high profit margins. 
They have no interest in portable low level access and will just 
point at OpenGL 2ES for that.

> graphics, once it gets into the hardware(gpu), there is no real 
> difference between 2d and 3d.

True, but that is not a very stable abstraction level. Display 
Postscript/PDF etc is much more stable. It is also a very useful 
abstraction level since it means you can use the same graphics 
API for sending a drawing to the screen, to the printer or to a 
file.

> As it stands now, that may be the case, but I honestly don't 
> see a reason it must be so.

Well, having the abstractions for opening a drawing context, 
input devices etc would be useful, but not really a language 
level task IMO. Solid cross platform behaviour on that level will 
never happen (just think about what you have to wrap up on 
Android).


More information about the Digitalmars-d-announce mailing list