top | item 7841080

Apple Ditching OpenGL?

64 points| cek | 11 years ago |alexstjohn.com | reply

57 comments

order
[+] angersock|11 years ago|reply
the market hungers to return to a programming paradigm in which the developer can interact much more DIRECTLY with the hardware without a bloated CPU bound OS or graphics API in the way.

Yeah, because all of us really want to go even more backwards in terms of having to deal with the BARE METAL (read: weird fucking behavior) of all of these cards. The current situation with OpenGL is far from ideal, but it's a damned sight better than having to rewrite my code all the time every time for each new device that comes out.

The last chunk of the article talks about the magical ~physics~ that this sort of thing will enable, because real-time raytracing is the the future right? Right? Guise?

If Apple does indeed end up ditching OpenGL (not that they were doing a great job of keeping up with the core API until recently, though they did keep new extensions rolling in steadily), it'd be more proof of them being shitty to engineers and the rest of the development community as a whole.

[+] flohofwoe|11 years ago|reply
To be fair, the Metal API is a lot more straightforward then OpenGL, and OpenGL is far from being "write once run everywhere". Each OpenGL platform, GPU and driver comes with its own set of quirks and problems. I do not think that vendor-specific APIs are the right way, but the current OpenGL situation isn't that much different. I would have hoped that Apple shows some real progress on their OpenGL implementations instead of writing their own API though.
[+] United857|11 years ago|reply
That's probably why Apple didn't announce Metal for the desktop.

With tight vertical integration with the hardware, and no contention for multiple apps/windows drawing to the screen, the iOS platform is ideal for this.

[+] Arjuna|11 years ago|reply
What I find fascinating, in general, is Apple's rise as a gaming powerhouse.

Take SpriteKit. It didn't exist until it was announced at WWDC 2013. Up until that point, the functionality offered by it was largely either hand-rolled by the developer, or achieved via framework (e.g., Cocos2D). I think Apple realized that they could capture more mind-share and confidence if they offered their own first-party framework offering.

Fast-forward a year later, and we have an enhanced SpriteKit (i.e., light sources, field forces, per-pixel physics, inverse kinematics), and of course the newly-announced SceneKit (3D scene rendering for casual games), Swift and Metal... all within a year!

With regard to Metal, Tim Sweeney had this to say after the Zen Garden app demo:

"There are thousands of objects being rendered here in a scene that we couldn't have dreamed of building, prior to Metal delivering a 10 fold increase in rendering efficiency. To have this level of graphics capability on iPhone and on iPad now is a stunning breakthrough. We're proud to have been a part of it. Of course, we'd love to share this with you, so as soon as iOS 8 is available, we'll be making Zen Garden available in the App Store for free."

[+] _random_|11 years ago|reply
Yes, it's like watching history repeat itself. Apple is the new pre-20xx Microsoft, Metal is the new DirectX, Swift it the new VB(A/Script).
[+] m_eiman|11 years ago|reply
If you think I’m exaggerating… just ask yourself… what other Apple API’s or Microsoft API’s get their own brand logo?

For Apple, pretty much all of them. SceneKit, SpriteKit, HealthKit, CloudKit, … The list is long.

[+] leejoramo|11 years ago|reply
I think we could push this at least all the way back to 1991 and QuickTime
[+] higherpurpose|11 years ago|reply
Adopting Metal for reasons of extra performance is one thing. Completely eliminating OpenGL ES support from iOS has no excuse other than shutting off Android, so that would be a pretty nasty move from them. I hope they don't do it. Forget about Android users - it's iOS developers that should be crying foul if Apple intends to do that, as it will force them to live in an iOS-only world whether they like it or not.
[+] hga|11 years ago|reply
"as it will force them to leave in an iOS-only world whether they like it or not."

I think you meant "live", but you could get leave to work in there as well. It would certainly take a lot to convince me to develop something for the iOS ... gated community.

[+] bradshaw1965|11 years ago|reply
Who said anything about completely eliminating OpenGL ES? SceneKit writes to OpenGL, OpenGL views are pervasive, WebGL is turned on in Safari, CALayers are OpenGL backed. Metal just lets you tweak the render pipeline.
[+] drawkbox|11 years ago|reply
From a company that funded Khronos for OpenGL ES and shared canvas/webkit with the world, this would be the wrong direction. WebGL success is largely hooked to OpenGL and its use on mobile as OGLES and WebGL are based on the same base spec. The OpenGL battle was just won with mobile, why replace that?
[+] krisdol|11 years ago|reply
Agreed. I've been excited at the notion that OpenGL was becoming the de-facto low level graphics API (if you want any multi-platform compatibility), and then Apple throws this new thing out to re-fragment the market.
[+] bluthru|11 years ago|reply
The processing gains are very impressive, though. If it was only 2x as fast, I'd agree with you... but 10x in some cases?! That's worth fragmenting.

Is this really much different than programming for a console?

[+] ctdonath|11 years ago|reply
Get the competition where you want them, while you move to higher ground.
[+] jkrems|11 years ago|reply
I'm actually surprised (after reading his bio) by this article. Did I completely miss the point of Metal? It sounded like more similar to low-level console platform APIs than to OpenGL or DirectX.
[+] Pxtl|11 years ago|reply
Which, realistically, is what Apple needs. The iOS platform is becoming one of the de-facto big players in the portable console market. Console-level APIs are a logical extension.

Insert speculation about Apple TV as Wii competitor here.

[+] thrillgore|11 years ago|reply
OpenGL is about two decades of amalgamations and mistakes that needed to be cut out of the working spec. And as a result we have more low-level APIs that are now vendor specific, such as Metal, AMD's Mantle, and so forth...

The downside is we're now at risk of losing an open standard API. OpenGL is bad, and yes, it needs to be retired. But without an mature alternative development costs will only grow.

All of this reeks of the worst kind of anti-competitive behavior and its time for an investigation.

[+] GioM|11 years ago|reply
I don't think you actually know what anti-competitive means.
[+] _random_|11 years ago|reply
"While the rest of the game community is trying to adopt Mantle, DirectX 12 or Metal, I’ll be re-learning my ray-tracing and quantum physics"

Agree, let me just grab my quantum physics engine and spin up my realtime ray-tracer and build a next hit game in a month.

[+] fulafel|11 years ago|reply
Vendors should just publish specs for GPUs and make them normal compiler targets. Drivers should just arbitrate access from user space.
[+] IvanK_net|11 years ago|reply
Keep in mind, that Microsoft, Apple, Samsung, nVidia, AMD, Intel, will keep having support for OpenGL (ES or other versions). And it is still the simplest way to write code for multiple platforms at the same time.

Of course, each of them tries to "bind" you by offering some extra speed or features and make it hard for you to publish to other platforms. But at the end, I believe that OpenGL (ES ...) is the only thing that will survive :)

It is very much like client-side web apps. Adobe wants you to use Flash, so you would have to buy Adobe Flash. Microsoft wants you to use Silverlight, so you would have to buy Visual Studio. Oracle wants you to use Java, etc ... But at the end, Javascript remains. It is not prefect for everyone, but it is "open" and free to implement, free to develop without paying anything to anybody.

[+] gfodor|11 years ago|reply
I might be way off here but the idea that metal et al have anything to do with enabling ray tracing seems absurd. The cards still are hardware optimized for triangle rasterization, the api doesn't change that.
[+] stuaxo|11 years ago|reply
This wouldn't really make sense.
[+] Vanayad|11 years ago|reply
Isn't metal basically the same thing as mantle ? By that I mean a low level API that has direct access to the GPU ? Also Dx12 is said to do this soon.
[+] bradshaw1965|11 years ago|reply
Provocative title, but probably overstated. SceneKit uses OpenGL directly with shaders and deferred rendering. Metal seems likely to become more mainstream as engine developers adopt the tech, but there are going to be lots of developers who are overwhelmed with writing glsl shaders, let alone significantly altering the render pipeline.
[+] alex_duf|11 years ago|reply
Anyone has any good idea of what will be the impact of such a decision on the Linux gaming market ?
[+] freehunter|11 years ago|reply
How many ports are there from iOS to Linux?
[+] Executor|11 years ago|reply
This is tragic news. Instead of working on an open cross-platform solution, they create their own proprietary crap. This must die. Vote with your money.
[+] billjings|11 years ago|reply
The author has made a misattribution: apologies are due to John Donne, not Ernest Hemingway, for the repurposing of Meditation XVII.
[+] dottrap|11 years ago|reply
Metal isn't on Mac. They ditching Mac too?
[+] mantrax5|11 years ago|reply
They're ditching Intel and the discrete GPU chips that it needs.

This is the reason Metal isn't introduced on Mac. They're waiting. Waiting until their Macs run on ARM.

I'm not saying it'll happen tomorrow. It may take a few years.

[+] Argorak|11 years ago|reply
The Mac is not a gaming platform, while iOS certainly is.