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).