
Apple Ditching OpenGL? - cek
http://www.alexstjohn.com/WP/2014/06/03/apple-ditching-opengl/
======
angersock
_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
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.

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

~~~
blazespin
Swift is hardly VB. Swift is a modern functional language competitive with
Java. It's far more complex than Objective-C. The threading model in Swift
utilizes GCD and Closures versus the "perform selector in background"
semantics of ObjC.

Not for junior engineers.

~~~
Pxtl
A PC vendor-specific high-level language? VB is the obvious comparison. Sure
Swift is a _better_ language, but it fills the same niche as VB - a platform
has a difficult API and they want a more productive language, so they make
something very high level using popular practices of the day, custom made to
map tightly to their platform.

It's just the popular practices in that niche in VB's day were things like
Delphi and Tcl/TK, whereas Swift comes out in the day of Java/C#/Golang.

------
m_eiman
_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
I think we could push this at least all the way back to 1991 and QuickTime

------
higherpurpose
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
" _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.

~~~
xienze
> It would certainly take a lot to convince me to develop something for the
> iOS ... gated community.

Like the chance to make decent money? Gotta give Apple credit, their users are
willing to shell out cash.

~~~
hga
Emphasis on the word "chance". You could spend quite a bit of effort
developing an app only to find out that Apple won't approve it, or perhaps
requires unacceptable changes.

Hence my emphasis on "gated community". Some people like the trade-offs in
this business model (earning money does have its attractions :-), I personally
don't.

------
drawkbox
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?

~~~
ctdonath
Get the competition where you want them, while _you_ move to higher ground.

~~~
motoboi
Are we talking about Sun Tzu stuff here?

“All warfare is based on deception. Hence, when able to attack, we must seem
unable; when using our forces, we must seem inactive; when we are near, we
must make the enemy believe we are far away; when far away, we must make him
believe we are near.”

Is this particular case, make everybody compromises performance by adapting
themselves to OpenGL while we prepare an almost-bare-metal thing?

~~~
ctdonath
The key (and there's probably a Sun Tzu quote about it as well) is getting
your competition to where they _want_ to be ... in a way that entangles them
there. OpenGL is a respectable place to be, and making it an industry standard
& norm ensures everyone can achieve their goals by leveraging the work of
others; there's nothing wrong with a solid grounding in OpenGL. The trick, of
course, is recognizing that there is _always_ a better position, and preparing
to move there while helping everyone else get to a nice comfortable position
below it.

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

~~~
bluthru
>Insert speculation about Apple TV as Wii competitor here.

I thought the Plants vs. Zombies demo already looked better than the Wii U. If
Apple puts an A8 in the next AppleTV and keeps it under $200, it would be a
very appealing alternative to a $400 xbox.

Apple selling a game controller still seems like a weird prospect, though.

~~~
smackfu
>Apple selling a game controller still seems like a weird prospect, though.

Rather convenient that iOS 7 included a game controller API and Apple hardware
certification for Bluetooth controllers.

(Of course, they are expensive and poorly reviewed, but the groundwork is
there.)

------
cek
Two additional reads on the subject I found useful:

[http://www.anandtech.com/show/8116/some-thoughts-on-
apples-m...](http://www.anandtech.com/show/8116/some-thoughts-on-apples-metal-
api)

[https://ilikecode.wordpress.com/2014/06/03/what-impact-
ios-m...](https://ilikecode.wordpress.com/2014/06/03/what-impact-ios-metal/)

------
thrillgore
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
I don't think you actually know what anti-competitive means.

~~~
dang
> I don't think you actually know what anti-competitive means.

This is not a good Hacker News comment because it puts another user down and
because it doesn't add information. It would be much better without the first
bit and if it taught us something about what "anti-competitive" means.

------
_random_
"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
Vendors should just publish specs for GPUs and make them normal compiler
targets. Drivers should just arbitrate access from user space.

------
IvanK_net
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
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
This wouldn't really make sense.

------
Vanayad
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
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
Anyone has any good idea of what will be the impact of such a decision on the
Linux gaming market ?

~~~
freehunter
How many ports are there from iOS to Linux?

------
Executor
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
The author has made a misattribution: apologies are due to John Donne, not
Ernest Hemingway, for the repurposing of Meditation XVII.

------
dottrap
Metal isn't on Mac. They ditching Mac too?

~~~
mantrax5
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.

~~~
motoboi
I don´t understand.

Is Apple returning to make its own chips trend?

~~~
mantrax5
Apple never had their own desktop chips. PowerPC was an IBM architecture. They
had created ARM to make chips for Newton, but that's it.

