Apple announces new graphics API: Metal

[h3]Apple supercharges iOS gaming with Metal[/h3]

“With Metal, Apple hopes to replace the industry-standard 3D-graphics API (application programming interface), called OpenGL, with its own development API that sits between the game software and Apple’s A7 mobile chip.”

Comments section:

If they actually ditch OGL completely, then that’s going to suck, at least for us indies. If that happens, I’m interested in seeing how it affects the current iOS gaming ecosystem.

I don’t like this.

Hiss! Boo! Hate!

It should be a crime to try and subvert open standards with proprietary tat.

This is dumb, the conference was basically explaining basics of graphics to newbs. Just replacing “OpenGL” with “Metal”. I can’t wait for them to come out with a new shaders language, and some kind of weird rasterizer and people to call it “innovation”.

At least they can’t patent hardware accelerated graphics. :slight_smile:

I think it’s not possible at this point for a proprietary standard to replace OpenGL.

OSX/iOS has never been a strong market for real games, and with Valve trying to push things over to Linux/OpenGL and away from DirectX, I think OpenGL support is just going to grow stronger.

I don’t find OpenGL to be the perfect API - there are lots of things that are broken and annoying to use - but it’s the best we’ve got.

This is only shitty if they ditch support for OpenGL, otherwise I see no problem with this.

Good ole’ Apple, trying to cram bullshit down our throats and call it “cool, unique and innovative” when it’s actually just a rehash of systems we already have, that work just as good (sometimes better) than what they are proposing.

If Apple ditched OpenGL for their propitiatory garbage, all they’re going to do is alienate their devices making it even harder for developers to make Android/iOS apps, and since Android is gaining huge ground right now I could see some devs dropping iOS entirely in favor of the easier to develop (and port to PC), android.

But in all honesty, Apple is probably just going to support both, I hope. The real question is how good will OGL support be now. Knowing apple’s slimy ways, I could see them half-ass supporting OGL, trying to push their API on us hoping to get people to become iOS exclusive devs. Either way, I feel bad for the multiplatform mobile devs out there.


Just imagine if they push “metal” as the exclusive API for their computers. I wonder how that will affect our “Compile once run anywhere” java we’re used to when using OGL libraries. We’d all have to rewrite Metal-specific versions of our java apps. If that happens, I won’t bother supporting the Apple product line. There would be no point in doing all that extra work just for a fraction of the gamer market.

In theory, we would be fine if I am understanding how the JVM works, but you never know with Apple. They love to purposely limit their system to force people in line.

This is such bullshit… They are really going to try and do that? I highly doubt it will improve their position, because they’ll just lose many of the most experienced developers out there. Have fun dealing with all the newbie games Apple.

There was no mention that they will ditch openGL. It’s just low level api for people who write graphics hungry games or professional game engines. If you are crying it’s not meant for you. I see this reaction quite hilarious.

Right, it’s only speculation at this point about non-continued OGL support, but if it’s done away with (and I’m not sure how they can do that, business-wise) then libGDX (our relative case) loses a deployment target for iOS8+.

I had the same thought with, “weeeell, we still support OGL, but our implementation is kinda shitty and suck it.” That could still happen, although it’s doubtful.

Either way I expect an interesting new chapter in The Tale of OpenGL vs. Direct3D may be in store.

The issue is not that we are worried about them ditching OpenGL. If they did that then they would lose a significant portion of their developer base, destroy what little gaming market they have, and result lots of major cross-platform software breaking. If they were to ditch OpenGL, they’d have to open up the specifications for Metal or risk a collapse.

The issue is that developers who use Metal will be given an unfair advantage over non-Metal, resulting in people switching to Metal, and therefore resulting in lots of non-portable software.

And I would go as far to say that I would be surprised if Apple didn’t give Metal developers an unfair advantage.

Luckily, the majority people who develop software are aware of Apple’s bull****, and so the only people who are going to fall for it are the Apple fanboy developers.

So, not that much of a problem, unless you heavily use Apple devices.

…and those people usually only make iOS exclusive software anyway. :stuck_out_tongue:

Every one in web is crying how openGL is broken/retarded/slow and when somebody is trying to give low level rendering API that potentially has market and actual need its suddenly bad thing? I personally used months for our last iOs game cpu optimizations and huge share of that went for fighting with driver overhead. It would have been so much faster to just use some different rendering API with direct control instead of just guessing fast paths.

While I agree with some of what you said, a closed standard is something that we should stay well away from.

We’re only just starting to recover from the damage caused by Microsoft and Direct3D. The last thing we need is a new closed API that reeks of vendor lock-in.

If any standard is to work it must be open.

Thats valid, but thats a very specific use-case :o

I can’t speak for mobile, but on desktop the CPU overhead is basically gone thanks to 3 new extensions:

  • ARB_buffer_storage: Persistent buffers can be mapped once and used forever, allowing you to build data on all CPU cores and gets rid of stalls of the driver server thread.
  • ARB_bindless_texture: No need to bind textures anymore. Texture handles can be stored in uniform buffers, texture buffers, etc.
  • ARB_multi_draw_indirect: Read draw call parameters from a (persistently mapped) buffer and render multiple things at the same time.

These features all give massive improvements in driver overhead since the most common and batch-breaking OpenGL functions can be removed. Even better, since texture handles and draw commands can be uploaded into buffers from any number of threads, we also have huge threading possibilities. All three extensions are supported in the latest Nvidia, AMD and Intel drivers on Windows, EXCEPT ARB_bindless_texture which isn’t supported on Intel’s cards yet. These three extensions alone should provide Mantle-like performance and almost Mantle-like threading possibilities.

Witchcraft !
Sounds awesome

Those people are broken/retarded/slow.

Apple are the height of scum IMO, sure when they first fired it that iPhone it was revolutionary. Now they are just milking the cash cow and doing whatever they can to make sure no one can do the same, like sue any company that tries to do something even remotely similar.

OpenGL sucks. It would actually be awesome if it were complete replaced (of course preferable with something open).

Don’t dis Apple, they do lots of good stuff for open source.

Where is the source for the claim that Metal is closed?