
Deprecation of OpenGL and OpenCL - WoodenChair
https://developer.apple.com/macos/whats-new#deprecationofopenglandopencl
======
_bxg1
Ugggggh. As if graphics support on macOS weren't middling enough already. It's
like they're trying to become as irrelevant as possible in that area.

I could understand if they were deprecating it in favor of Vulkan. That would
be in-line with Apple's history of aggressively pushing forward new standards.
But by no means do they have the clout to coerce developers into their own
bespoke graphics API that doesn't work anywhere else. All they'll accomplish
is further killing off the already-small presence they have in the gaming
space.

~~~
sundvor
Apple must truly hate gaming, or suffer from a serious case of Not Invented
Here with their Metal stuff. As if any serious gaming studio would target
Metal which doesn't run on Windows.

In fact, they couldn't get their act together, keep with current versions, and
as a result titles like Elite Dangerous were being shut down anyway. Reason:
OpenGL stuck on an old version without support of compute shaders.

[https://forums.frontier.co.uk/showthread.php/424243-Importan...](https://forums.frontier.co.uk/showthread.php/424243-Important-
Mac-announcement)

[https://support.frontier.co.uk/kb/faq.php?id=228](https://support.frontier.co.uk/kb/faq.php?id=228)

~~~
bittcto
Hypothesis: There are more machines in consumer hands which support Metal than
DirectX.

This may sound crazy, but remember there are billions of iOS devices out there
in the world, and I don't think X boxes plus windows game machines count in
the billions.

Its true Apple hasn't won the hard core gamer market, but they are no longer
the niche player that had to cater to windows users.

~~~
sundvor
I've yet to see _anyone_ build a hardcore Mac gaming machine.

Oh wait, you can't.

~~~
cmsj
you could make a pretty safe argument that the iMac Pro is right up there with
the best gaming PCs one could buy/assemble.

~~~
opencl
It really isn't. The fastest GPU available is a Vega 64 underclocked to
basically the performance of a normal Vega 56. A 1080Ti is ~50% faster. Even
if you connect an external 1080Ti it's constrained by TB3 bandwidth.

------
outworlder
This is a problem that is entirely of Apple's own doing.

Microsoft could not care less about OpenGL on Windows. However, it works just
fine.

You know why? As soon as you install your video card drivers, your OpenGL
implementation is no longer from Microsoft. It comes from AMD, NVidia or
Intel, with all needed optimizations for their hardware.

Apple insisted in not allowing this and doing the OpenGL implementation
themselves (which was always crappy and outdated).

Had they allowed the GPU vendors the ability to provide their own
implementation, this would have been a non issue.

~~~
fulafel
OpenGL is very much a second class citizen on Windows. Mass-market OpenGL apps
like browsers currently use ANGLE to emulate OpenGL on top of D3D. Native
OpenGL is used in professional apps that can make demands on GPU and driver
setups.

(Many toolkits, like Qt and Cocos2d, also use ANGLE on Windows for OpenGL
functionality)

~~~
sbuk
Pro 3D apps from Autodesk tend to use DirectX. Certainly 3dsmax and Revit use
DirectX over OpenGL and have done for a while.

The same is true for plenty of other “Pro” apps on Windows.

[https://knowledge.autodesk.com/support/3ds-max/learn-
explore...](https://knowledge.autodesk.com/support/3ds-max/learn-
explore/caas/CloudHelp/cloudhelp/2017/ENU/3DSMax/files/GUID-3D6B4C8E-8C0D-4A9C-BFB0-2463803268CE-
htm.html)

------
psyc
As a long-time professional game engine programmer, it is hard for me to see
consternation over things like this, and avoid judging it as mainly ignorance.
The amount of code in an engine that needs to touch the graphics API is tiny.
A handful of methods for device init, filling buffers, uploading shaders,
setting state, and saying "draw!" All of the graphics API code can easily fit
in one medium-sized source file. As a proportion of the whole engine, it's
very small. As a proportion of the whole game or app, it's negligible. It's
also boilerplate. There are only so many ways to copy a stream of structured
data into a buffer.

Legacy software, blah, blah, blah. No legacy software runs forever, and least
of all on Apple platforms. Who cares.

~~~
TheCabin
Professional game engines are not the only application for OpenGL, though.
Many people would like to build cross-platform software without using major
abstraction layers, such as game engines. This could be research software,
prototypes, small tools in general.. -- I think there is a long list. For
these people life might get harder.

------
fabian2k
OpenGL isn't pretty, but it's at least cross-platform. And my impression was
that OpenGL support is mostly handled by the GPU manufacturers, so I'm not
sure how much Apple gains here by deprecating OpenGL.

Requiring developers to use an API locked to a particular platform feels
pretty hostile to me. Doesn't matter if that API isn't perfect, or even far
from it.

~~~
coldtea
> _Requiring developers to use an API locked to a particular platform feels
> pretty hostile to me._

So like DirectX?

~~~
amag
OpenGL is still an option on Windows, it's not deprecated.

~~~
msbarnett
It’s not deprecated because it’s not even there to begin with — Windows 10
doesn’t ship OpenGL by default; GPU vendors provide their own implementations.

Which AFAIK they’re free to do on MacOS as well, they just don’t seem to
bother since Apple was doing that work for them

~~~
wolfgke
> Which AFAIK they’re free to do on MacOS as well, they just don’t seem to
> bother since Apple was doing that work for them

As far as I am aware Apple develops the GPU drivers for OS X (though, I think,
based on code that the GPU vendor provides).

~~~
coldtea
OpenGL is not a driver though, it's a graphics API

~~~
wolfgke
At least on Windows, the OpenGL implementation is part of the graphics driver.
Why? Because by default Windows only has between rudimentary (at least up to
Vista, I think; I am not sure about Windows 7 and 8.1) and no (Windows 10)
OpenGL support - this is what the GPU vendors provides as part of his graphics
driver.

~~~
msbarnett
> At least on Windows, the OpenGL implementation is part of the graphics
> driver.

It's distributed _with_ the Graphics Driver, but most of it exists in a user
space library, not in the driver proper.

------
chipotle_coyote
While this is startling, it seems pretty consistent with Apple's modus
operandi in a lot of areas -- leap forward to where they think the industry is
going and hope they're right. OpenGL is effectively being deprecated by its
own developers in favor of Vulkan, which has an open source implementation for
macOS and iOS, developed in part by Valve, built on top of Metal:

[https://store.steampowered.com/news/37575/](https://store.steampowered.com/news/37575/)

If game developers -- and game engine developers -- targeting OpenGL now are
in the process of moving to target Vulkan, and if MoltenVK ends up offering
better performance on macOS than Apple's legendarily anemic OpenGL stack,
isn't this likely to be better in the long run despite the short-term pain?

~~~
chabsf
OpenGL is "learnable" by someone in the process of learning. Vulkan and Metal
are much less approachable. This will put a huge damper on low-level graphics
programming as a hobby.

~~~
Brakenshire
They need a new more developer-friendly API built on top of Vulkan as a
replacement for OpenGL.

~~~
anaphylactic
I believe (hope) that OpenGL continues to be that developer-friendly API.
Building OpenGL on top of Vulkan shouldn't be too hard, and it means we don't
have to pointlessly deprecate and recreate the huge number of OpenGL resources
out there.

~~~
astrange
OpenGL isn't friendly to developers on either side. Tutorials are generally
not trustworthy, there's no cross platform debugging tools, and errors just
get you a "something happened vOv" code.

If you care about performance it will just do something slow at uncontrollable
points in the background, like copy CPU-GPU-CPU memory, synchronize against
the GPU, do format conversions, etc.

If you're the one implementing GL, it's gotten gigantic again since they
simplified it. GL 4.3/4.6 core has compute shaders, which means you have to
implement OpenCL twice but different this time.

------
shurcooL
I would be a lot more okay with this if Apple supported Vulkan, the more
portable comparable API, rather than just the macOS/iOS-only Metal.

I also wonder what means for WebGL and its future. Right now, WebGL works in
browsers on macOS, Linux, Windows, iOS, Android, which is incredible. There is
no equivalent.

Sure, Apple has started working on WebGPU, but that’s not yet ready nor is it
guaranteed to gain Linux, Windows, Android support.

~~~
mtgx
WebGPU _would_ gain traction if it was based on Vulkan. But it's not. However,
Mozilla's Obsidian API is:

[https://github.com/KhronosGroup/WebGLNext-
Proposals/tree/mas...](https://github.com/KhronosGroup/WebGLNext-
Proposals/tree/master/Obsidian-Mozilla)

Apple has so little to gain over Vulkan by developing its own API but so much
to lose by not adopting Vulkan (gaming companies may actually prefer
developing games on the cross-platform Vulkan to target macOS/iOS devices,
too, at the same time, instead of using DirectX).

~~~
zamalek
> instead of using DirectX

Maybe Nadella will push for Vulkan support on Xbox, or maybe Xbox will die
off, who knows. Unless one of those happens, DirectX is not going away. As
soon as consoles come into the equation, you are stuck writing a PAL (or using
an existing engine that already has one) because they use proprietary APIs and
that's unlikely to change.

It's not ideal, but that's the reality. Apple is following the idiotic status
quo, but it's not fair to single them out for it (that being said, at least
Microsoft supports Vulkan and OGL on one of their platforms - but the 3rd-
party driver developers are mostly responsible for the great support).

~~~
exelius
My bet is they spin the whole gaming division off or sell it to someone like
Amazon. It’s not really a great fit anymore and IMO they need to be bolted to
a company with a greater interest in the creative side of the business (i.e.
running a movie/game studio) than Microsoft.

------
adamisntdead
As someone who read this with an editor full of OpenCL kernels, I think apple
must really have missed the point of these sort of frameworks - heterogeneous
computing.

If I wanted the best possible speed, latest features ect. I would write
multiple back ends in things like CUDA.

I choose OpenCL because I can develop code on my Macbook pro, and run that on
a computer with a discrete GPU on a different operating system, and have a
fair amount of confidence that it would work.

:/

~~~
w-m
> I choose OpenCL because I can develop code on my Macbook pro, and run that
> on a computer with a discrete GPU on a different operating system, and have
> a fair amount of confidence that it would work.

That was the promise, but it never became reality. When writing kernels for
real-world applications, OpenCL breaks down in numerous ways. The result is
usually neither stable, nor portable, nor fast and a pain to work with. There
was never OpenCL support for 3rd party developers on iOS.

You say you are writing OpenCL kernels on a MBP and they are portable, maybe
you got lucky? Lots of comments I see on the deprecation on OpenCL seem to
come from people who like the idea of having OpenCL (and its promises, which
are awesome), but never had the awful experience of actually working with it.

I remember the open letter from the Blender developers on the sad state of
OpenCL support on Mac ([http://preta3d.com/os-x-users-
unite/](http://preta3d.com/os-x-users-unite/)) from 2015. Some GPU vendors
(AMD, Intel and Qualcomm) continued to put resources to better OpenCL support
over the last couple years, but maybe too little, too late? It seems at least
Apple had already given up on OpenCL by the time of this letter (and moved
their resources completely to Metal), as nothing new has happened for OpenCL
since then.

I'd prefer if we had a working OpenCL on many platforms. As we don't,
especially not on Apple platforms, the step of deprecating it is regrettable,
but at least honest.

~~~
Lio
I know that Apple is commercial organisation and not a charity but projects
like Blender bring a lot to the platform.

It would be great to find out later that Apple had reached out to the Blender
dev team with a strategy on how to move to either Metal or a Vulcan/Metal
adaptor.

Personally I was thinking about getting an eGPU just for Blender use. It would
be a shame to have to leave macOS just to run Blender.

------
Analemma_
All things considered, I think there are some companies that are worse to the
FOSS community than Apple, but I can't think of one that has Apple's degree of
baldfaced cynicism to exploiting FOSS and open standards _only_ to the degree
that it benefits Apple, and then throwing them under the bus the instant
they're no longer useful.

Apple loved HTML5 when they had to kill Flash and get web developers to
support mobile, but then as soon as it became a threat to the App Store,
Safari's compliance came to a screeching halt and now Safari is in last place,
even behind Microsoft's browsers, in HTML5 support.

OpenGL was useful when it was a way to potentially lure people away from
Windows, but as soon as Apple had the clout to not care about it and force
develops onto its proprietary API, that's what happened.

I almost prefer old-Microsoft's honesty about wanting to kill FOSS, rather
than this blatant acknowledgement of FOSS as a tool to be ripped off to
improve one's ecosystem dominance and then promptly thrown aside. Makes you
wonder what's going to happen if and when Apple no longer needs Clang/LLVM,
or, hell, Unix.

~~~
janoc
Apple has a tiny market share when it comes to 3D applications - OpenGL is
mostly the "pro" 3D world, be it CAD, 3D visualization, 3D simulation and
similar. None of that runs on Macs, everything is Windows/Linux these days.

So there will be little "forcing" into their proprietary APIs - the few 3D
developers that actually tried to support Mac will kill the platform off
because nobody is going to rewrite major piece of software to use Mac-only
Metal. Too much effort for little to no benefit.

Basically Apple just killed off any 3D support they may have hoped for on Mac.
Including any hopes on anything VR related (so much Oculus/Vive fans hoping
for seeing a Mac support - it is now even less likely than Linux one ...).

There is a 3rdparty port of Vulkan and I am sure there will be 3rdparty OpenGL
drivers (e.g. Mesa) but nobody is going build a CAD system on top of that,
IMO. Without official vendor support it is just too risky.

~~~
chuckdries
SteamVR is actively being developed for Metal (it's in beta rn), and Khronos
has released a vulkan implementation that runs on top of metal.

------
Unknoob
Aren't most of the games on MacOS running on OpenGL? This is going to kill all
the older titles that are not maintained anymore. Terrible move just to push
Metal down people throats. As if MacOS gaming wasn't dead enough.

~~~
kilon
Nope most of them use some sort of game Engine, unreal and Unity dominate.

MacOS gaming is not only not dead it’s flourishing rapidly. Take a trip to
Steam shop. You will find a massive amount of games are made for MacOS and the
numbers are growing rapidly since Apple lost interest into OpenGL. But then
MacOS has reached a 10% of the desktop market making it much harder to ignore
than in the past when it barely reached 3%. With iOS dominating mobile revenue
, Appple is the undisputed king of gaming for over a decade now.

~~~
SwellJoe
_" Nope most of them use some sort of game Engine, unreal and Unity
dominate."_

But, don't those engines use OpenGL on the backend? They need some sort of
interface to the GPU, and AFAIK, OpenGL is it for both Mac OS and Linux.

Edit: Yes, at least Unity does. I can't find an authoritative source on
Unreal.

[https://forum.unity.com/threads/opengl-core-backend-
default-...](https://forum.unity.com/threads/opengl-core-backend-default-
change-for-osx-and-linux.359225/)

Edit2: Found Unreal info...they switched to Metal in 4.14. So, you're OK if
you develop games for Mac with Unreal.

I guess it's plausible that Unity will do the same going forward.

~~~
kilon
The backend plays a minor role, as I repeatedly say and I am repeatedly
downvoted by ignorant people. Unreal supports on MacOS not one but 3
technologies. OpenGL, Vulkan and Metal and that is just for graphics. There is
also CUDA, OpenCL, PhysicsX and much more that go far beyond the scope of 3d
graphics.

A well designed graphics engine never ties itself to a platform however
popular that platform may be. Whether that platform may be a OS , a graphics
API or any kind of SDK.

At least Unreal is neither a game engine nor a graphics engine , its an entire
ecosystem of tools , APIs. Unreal even extends C++ to facilitate for GC and
some rudimentary reflective abilities.

So there are a ton of things go on, from low level to very high level.

Overall MacOS develpers have been very quick into embracing Metal for new
projects and so did Unreal. Which is no big suprise because Metal gives access
to both MacOS and iOS which is a variant/fork of MacOS.

------
vortico
Lol, Metal is Mac-only which relies heavily on CoreWhatever dependencies and
thus can never be cross-platform, right? The only reason any game or CAD
developer even supports Mac at all is because OpenGL is a cross-platform API
that works great on Windows, Mac, and Linux, so they only have to write one
type of shader program, etc. No game developer in the world will write both an
OpenGL/DirectX/Vulcan _and_ Metal renderer for the purpose of staying up to
date with Apple's "deprecations".

If you're Pixelmator or Apple's own Final Cut team, sure, use Metal. For
anyone else that wants to make a living, supporting multiple platforms is a
given, so you won't pay the slightest attention to this deprecation notice.

~~~
mellinoe
> No game developer in the world will write both an OpenGL/DirectX/Vulcan and
> Metal renderer for the purpose of staying up to date with Apple's
> "deprecations".

Actually, most game developers do that. Pretty much every game (even ones with
a custom, "non-AAA" engine) will have some kind of abstraction layer for
dealing with graphics API's. Writing an additional backend for Metal is not a
monumental undertaking -- it's a tiny fraction of the overall code you will
end up writing. Also game consoles, for the most part, use their own graphics
API's which are not portable to desktop PC's.

~~~
pfranz
That's kind of true for games, but he's totally right about CAD and other
software. Big 3d applications Nuke, Houdini, Maya all use OpenGL. Before OSX,
Mac versions either didn't exist or were kept up about as well as IE or Word
was. Over the past 5-10 years they've been reliably released for OSX at the
same time Windows and Linux versions were (they all originated on IRIX). They
all have a lot of other development going on and I don't see any of these
companies making and maintaining a Metal version.

I'm sure the Mac version of these tools aren't used by any studio with more
than 5 people, but independent contractors, small studios, and individuals
working at home really benefit (or else they wouldn't have bothered to port
and maintain up until now).

~~~
rimliu
Well, then maybe it is a good thing for wannabe pixelmators? Create a nice
Mac-only tool, profit.

~~~
pfranz
Yeah, but that really sucks for people who use powerhouse tools that took 15
years to develop because we were able to use Macs, but it's looking less and
less likely going forward.

I really like the idea of creating more space for the little guy. I want them
to do well, but honestly I haven't had the best experience. As someone who
uses the professional tools during the day, but has only the occasional needs
for personal use I was happy to pay for a Mac-only tool. In practice, for a
tool I only grab every few months I often find there was a regression in some
feature that I guess is only used moderately often (selection boxes), it
doesn't currently support that feature (I can't remember, but it was something
like HSV color space, more than 8bpp, or some file format like TGA or PNG--not
features you'd add to v1, but nothing too obscure), or there's another paid
upgrade.

Even beloved Mac tools like Panic's Transmit, I feel like I can't 100% rely
on. At a moment's notice I'll have to jump to something else to finish the
task.

------
davrosthedalek
If this means that macOS will lose opengl support even for X11 apps, a
substantial part of academia will switch away from Apple. It's highly unlikely
that software like ROOT or geant4 will ever get ported to something else.

------
rixrax
I just recently bumped to John Carmacks stories about Steve Jobs, among which
he convinces him to adopt OpenGL[1] (HN commentary [2]). Thought this might be
an appropriate historic reference here as OpenGL now appears to be on it's way
out on MacOS.

[1]
[https://m.facebook.com/permalink.php?story_fbid=214641282559...](https://m.facebook.com/permalink.php?story_fbid=2146412825593223&id=100006735798590)
[2]
[https://news.ycombinator.com/item?id=17066846](https://news.ycombinator.com/item?id=17066846)

~~~
kayoone
I too thought about this as Carmack mentioned that he believes it was one of
his most important achievements that Apple adopted OpenGL back in the day.

------
GeekyBear
This is not the least bit surprising.

As one of the creators of Direct X at Microsoft commented when Metal was first
announced, "Why help Android siphon off their game developers by propping up
OpenGL?"

[https://web.archive.org/web/20140606055700/http://www.alexst...](https://web.archive.org/web/20140606055700/http://www.alexstjohn.com/WP/2014/06/03/apple-
ditching-opengl/)

------
Keyframe
Turns out it was a good idea to base new stuff on this:
[https://github.com/bkaradzic/bgfx](https://github.com/bkaradzic/bgfx)

~~~
rafaelvasco
Yeah, using things like that is the way to go.

------
tannhaeuser
I'm getting a bit worried about Apple dropping out of the business of
producing professional tools and rig. I always liked that you can walk into an
Apple retail shop and get a decent Unix notebook (though I've opted for a
different notebook for my last purchase because of the lack of display,
keyboard, and port options). But with Apple pulling out of OpenGL, what little
pro (or at least pro enough for me) F/OSS software for 3D (Blender) and other
graphical stuff was running on Mac OS won't any longer. I can't imagine
Blender has the resources and inclination to port their software over to
Metal, especially when Apple deliberately torpedoes their efforts.

------
tobyhinloopen
Well most games using OpenGL run like crap anyway on macOS. The Windows
version alwys runs better in Windows via Bootcamp.

Maybe the forced Metal usage (however shitty it is to remove support for an
open standard) will increase macOS ports of games.

But in reality, 50% games will still be a wine bottle

------
bananaboy
Note that they're also deprecating OpenGL ES on iOS:
[https://developer.apple.com/ios/whats-
new/#deprecationofopen...](https://developer.apple.com/ios/whats-
new/#deprecationofopengles)

------
bayindirh
Disclaimer: I'm not trying to be the Devil's advocate here, but just wanted to
share an observation.

Apple always removes stuff which looks untimely or just plain stupid
(headphone jacks, optical drives, USB/Firewire ports, optical in & out,
rosetta, APIs, etc).

Always the same outrage has happened, but things normalize then. People,
companies adapt, hell does not freeze over, company doesn't go bankrupt.

I feel that maintaining OpenGL & OpenCL felt like a burden to Apple. We all
know that Apple likes to control everything from hardware to user interface,
and GPU drivers are one of the most notoriously complex, overprotected part of
the software stack. In the OpenCL world compilers and other stuff (I don't
remember the terms clearly, sorry) also gets in, and makes everything much
more complex.

Maybe this move will help them to slim the drivers to the basic "hardware-
software" interface level and build metal and related technologies to their
own term on top of this relatively simple interface.

I have a feeling that metal can be directly translated bidirectionally and
relatively cheaply to OpenGL (and maybe Vulkan and OpenCL too), so at the end
things don't become extremely complex for everyone.

Apple doesn't feel that backwards compatibility is strictly necessary unless
things can be translated and made to work with relatively good performance.

As a Linux and Mac user for 10+ years, these are my observations. They may be
wrong, technically incomplete or else. Feel free to discuss, debunk, or
downvote.

~~~
ocharles
> Always the same outrage has happened, but things normalize then. People,
> companies adapt, hell does not freeze over, company doesn't go bankrupt.

But that doesn't mean we took the best path. There is always an alternative
future if x hadn't happened at all. If x hadn't happened, we might be in a
better place, rather than accepting it and doing the best we can.

~~~
bayindirh
> But that doesn't mean we took the best path. There is always an alternative
> future if x hadn't happened at all. If x hadn't happened, we might be in a
> better place, rather than accepting it and doing the best we can.

Of course. I didn't mean to say that Apple is designing the best possible
future or making the best possible decisions. I'd rather have a future where
these technologies are supported as first class citizens by everyone, and I
can just cross compile this stuff with _virtually_ no porting or optimization
effort, however unfortunately this is not the world we live in right now.

As I said, mine is an observation rather than taking one side.

------
IvanK_net
Metal is a nice low-level API and you can have a tiny (<1MB) library, that can
efficiently emulate modern OpenGL on top of Metal.

E.g. for WebGL purposes, all web browsers on Windows emulate OpenGL on top of
Microsoft DirectX.

------
bingoboingo33
Very much in line with Apple's way of doing things. God forbid they'd adopt
some sort of open standard - even though they've hugely benefited from them.

~~~
jonhendry18
"God forbid they'd adopt some sort of open standard "

They did, when they adopted OpenGL and OpenCL. Years ago.

Apparently they've decided that those have outlived their usefulness.

~~~
bingoboingo33
"They did, when they adopted OpenGL"

Yes, and this was so much against their DNA that it required the chutzpah of a
Carmack to get the Apple's CEO to implement the decision.

Apple is and has always been a strict leech on open ecosystems.

They try to build closed proprietary stuff first to lock you to the platform,
and when what they build is bested by OpenSource, embrace it and move on to
the next opportunity.

They did the exact same thing with BSD: grab a beautiful piece of OpenSource
tech, bolt on a metric ton of proprietary closed source tech on top of it, and
call the whole thing open source to get love and applause from the OSS crowd.

Techies are essentially a gullible bunch.

Source:
[https://news.ycombinator.com/item?id=17066846](https://news.ycombinator.com/item?id=17066846)

------
rafaelvasco
At this state if i'm coding a game engine and want HWA graphics in all
platforms i'm better of using middleware/user level frameworks like BGFX, GFX-
RS etc, that abstract away D3D, Metal and Vulkan. Best choice. All that time
learning OpenGL will not go to waste completely.

------
Phylter
I think it’s a great idea to alienate developers from every other operating
system out there and ensure that great effort is needed to maintain and port
apps from other platforms. This is what we expect from Apple anyway, right?

Who’s going to start working on an OpenGL to Metal wrapper?

------
seba_dos1
I suppose it got flagged as a dupe due to duplicated URL. However, I believe
it shouldn't be - "what's new in macOS" is completely uninteresting to me,
while deprecation of OpenGL and OpenCL is a big news.

------
himom
This is bad: a hobbyist will be faced with a huge burden to bring anything 3D
cross-platform to their audience. In the past, it was possible to use Qt or a
nasty GLU/GLUT wrapper to write portable code.

Way back in 2006, in CS175, we implemented almost all of the core 1.5 pipeline
in C++. Software OpenGL implementations may not be the fastest, but they’re
more or less trivial (quaternions, trapezoid-based triangle engine, painters
algorithm, z-buffering, texture mapping, bump-mapping, lighting and various
shading models), and therefore accelerate-able with CPU and GPGPU SIMD ops.

~~~
pjmlp
That hobbyist can still use Qt, because nowadays they support multiple
graphical backends.

~~~
slavik81
Qt supports multiple backends for its own rendering, but the hobbyists will
still have to rewrite their rendering code to support that new backend. For a
lot of my programs, that's about equivalent to rewriting in another language.

~~~
pjmlp
Not when the hobbyists took the right approach to use the Qt 3D APIs, like the
new scene graph API.

Also there is no harm in learning to write modular graphics engines with
multiple backends, hobbits get to learn how professionals do it.

Finally, if it is just a hobby, then what hobbyists can do best to improve
productivity is to use whatever their OS offers out of the box.

~~~
megaman22
I got a small kick out of the typo, with hobbits learning to write graphics
engines. No doubt between second breakfast and elevensies

~~~
pjmlp
Yeah, my English went downhill with auto-correction keyboards. :)

------
spullara
Vulkan on Metal is already faster than OpenGL so this is a non-story. If you
want cross-platform support use Vulkan, if you want ultimate performance
target DirectX and Metal.

------
yoz-y
There is one thing I do not really understand about this. nVidia releases a
macOS driver here
[http://www.nvidia.com/download/driverResults.aspx/73628/en-u...](http://www.nvidia.com/download/driverResults.aspx/73628/en-
us)

Would it be possible for this driver to add OpenGL/OpenCL and Vulkan support
to macOS like it is done on Windows? (Or am I completely misunderstanding how
this works)

------
Animats
Microsoft deprecated OpenGL back in Windows Vista over a decade ago. They
still have to support it, because many major packages didn't switch to
Direct-X.

~~~
pjmlp
They don't support OpenGL at all, they tolerate it via ICD driver model, which
isn't supported in the store app containers.

------
thinkingemote
I wonder at what point developers will leave. I don't think they will. Changes
from Apple might seem to hurt, but people adapt. The changes are not big
enough, nor damaging enough to those who have invested themselves in Apple to
switch. Normal users won't see much difference.

If you have Apple desktop, a laptop, a phone, connected accounts, apps and
associated data, maybe a watch or a TV you are fully within the Apple
ecosystem. You cannot leave without it costing you major hassle and stress.
This might cause surface inconvenience but it's not going to be enough to push
anyone out from that ecosystem. Apple has their users where it wants them, and
the users are happy.

------
mjevans
Related to the article (but not the subject here); as a user of "dark" themes:

The precise wording they use seems to indicate a view of dark themed sets as
being less colorful. High contrast themes and visibility aiding limitations in
theme color use have their places; so too do themes based around darker, more
night time, friendly colors. Thinking of a system as having only one true
theme, or of light/dark as being full / visually impaired themes is a
dangerously limiting misconception.

~~~
zeusk
Windows has done much better in this regard, even back in XP iirc.

------
brink
Could they please pick a better name than "Metal"? I cringe at having to sort
through the unwanted results when Googling issues in the future.

------
kraig911
The wall just got 10 feet higher. I can't find any info though on webGL....
anyone find anything? Apparently iOS is getting hosed too

------
mratsim
So Adobe, Blender, Maxthon (Cinema4D), Maya, CaptureOne, DaVinci Resolve and
99% of the film, image, photo industry have to rewrite all their OpenCL
kernels.

Also currently Metal and Accelerate are completely unsuitable replacement to
OpenCL for Deep Learning ... Not that deep learning on OpenCL was a thing yet
but I was adding support to it in my own framework.

------
vortico
Does anyone know if Apple actually intends to remove OpenGL drivers at any
point, and if so, when?

------
Ono-Sendai
Very disappointed about the deprecation of OpenCL. We use it to achieve cross-
platform GPU compute usage (Windows, Linux, Mac). Dropping OpenCL is not going
to encourage developers to target the Mac for such software as ours.

------
hellofunk
Why is anyone surprised by this? Apple has a decades-long history of taking
outdated technology and making it obsolete by forcefully removing it (which
they haven't actually done yet with OpenGL):

Parallel Ports

Floppy Drives

CD/DVD Drives

Older USB, Firewire ports

Network ports

They were the first to remove all this stuff, and everyone was shocked. Now
they are doing this with an API. Both Apple and Microsoft have long ago
created much more modern, highly performant graphics technologies over what
OpenGL offers, and serious vendors support platform-specific APIs most of the
time. If it takes Apple to do this and say to the world "wake up, OpenGL
sucks," I view that as progress.

Despite, I don't think your OpenGL app will fail to run on Mac any time soon.
I suspect it's years away before they actually remove it entirely.

~~~
rockdoe
This would have been a valid argument...if they supported Vulkan instead.

But they do not.

------
denji
OpenCL -> Cross-vendor ROCm & Portable CUDA/HC via HIP

\- [https://github.com/ROCm-Developer-Tools/HIP](https://github.com/ROCm-
Developer-Tools/HIP) \-
[https://github.com/RadeonOpenCompute/ROCm](https://github.com/RadeonOpenCompute/ROCm)

"CUDA/HC Portable with HIP", "Microsoft C++AMP", "Apple/Khronos OpenCL":
[https://github.com/ROCm-Developer-
Tools/HIP/blob/roc-1.8.x/d...](https://github.com/ROCm-Developer-
Tools/HIP/blob/roc-1.8.x/docs/markdown/hip_terms.md)

------
beefsack
Would it be correct to assume that swathes of old games will just stop working
when 10.14 arrives? I'm not a MacOS user, but as a gamer that would frustrate
the hell out of me.

~~~
abowlofpetunias
"Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but
these legacy technologies are deprecated in macOS 10.14."

Should be okay for now.

------
bhouston
How does this affect Angle, the WebGL implementation underneath Chrome? I
believe Angle only has bindings for OpenGL (with Vulkan in alpha). It has no
bindings to Metal.

------
JepZ
I didn't know you could replace OpenCL with Metal. I thought for GPU computing
there are just OpenCl and CUDA. Does Vulkan offer an alternative to OpenCL
too?

------
slavik81
Well, great. OpenCL 1.2 was the only API that was actually portable. Now we
have nothing. Might as well drop OSX and just move to Vulkan.

------
Jyaif
Oh those mother fuckers.

Can't believe I'll actually have to switch to windows to develop my
OpenGL/WebGL games.

------
Sir_Cmpwn
Go fuck yourself, Apple. The only thing this is doing is driving devs off your
platform.

------
adamredwoods
My question, is it possible to create an openGL/webGL emulation layer over
Metal?

~~~
falsedan
Some comments addressed MoltenVK and MoltenGL
[https://news.ycombinator.com/item?id=17232868](https://news.ycombinator.com/item?id=17232868)

------
krzbrg
What does this mean in practice for macOS users?

Asking because I am not familiar with these libraries.

------
slentprog
We got dark made in return.

------
shmerl
And didn't implement Vulkan either. Typical Apple.

------
FraKtus
And that is also the final push for Quartz Composer...

------
unique_parrot2
python, bash, opengl :( Scientists just want to use it!

(as of high sierra python 2.7, bash 3.2, ....)

New thing: DARK THEME, YES, OMG :(

Is apple holding the future back???? Where is the innovation?

~~~
unique_parrot2
tar (bsdtar) apple: v2.8, current 3.2 feel free to continue...

------
CocoaGeek
Great ... just when I was going to use openCL .. :(

------
hinkley
How does this affect Valve and Blizzard?

------
neurobashing
you're all completely correct: Apple is doomed. Since no one plays any games
on iOS (where Metal is the only real option), forcing Metal adoption on MacOS
is doomed from the start. iOS devices will be left in their moribund state,
used only for a few limited tasks like DTP and blogging or whatever.

They should take a page from Microsoft and adopt an open, cross-platform
technology like DirectX.

------
yani
Everyone is blaming Microsoft for acquiring GitHub. Apple chose the right time
to deprecate OpenGL in favor of Metal. Sneaky

------
sitkack
The Bureau of Compatibility should demand that all major platforms support
Vulkan or have their tax loopholes closed.

------
therealmarv
congrats, that's as cool as DirectX from a developer perspective.

------
sbr464
Does this affect WebGL?

------
brightball
I feel better about moving to Mint every day.

------
patrickg_zill
To me this signals that the Second Moribundity of Apple is nigh.

The First Moribundity was the period in the 1990s when Apple was coasting on
the DTP and Photoshop advantage over Windows they had, reducing the features
of their desktops and not innovating. Schindler, a smart but ineffective
leader, was replaced by Gil Amelio, a star in his prior field but unable to
get Apple headed in the right direction. It took Jobs' return to right the
ship that time.

The emphasis on thin but less functional and less serviceable laptops, the
dropping of OpenGL, the cruft piling on top of OS X to no new net benefit for
users, and their coasting on the desktop market all point to this IMHO.

~~~
exelius
Everyone is coasting in the desktop / laptop market. Refresh cycles are like
5-10 years on PCs now, and it’s not clear tablets even have a refresh cycle.
You can’t get growth on PC hardware anymore, not even if you’re Apple. So it
goes into maintenance mode. Nobody even really sells desktop PCs anymore
except custom gaming rigs and low-power kiosk boxes.

Apple is all about mobile phones, the Apple Watch and air pods right now. The
MacBook is barely a blip on their product radar.

~~~
wolfgke
> Nobody even really sells desktop PCs anymore except custom gaming rigs and
> low-power kiosk boxes.

My personal impression is that while pre-built PCs are mostly sold to
businesses, there is a strong growing trend since a few years to build your
own PC from parts. I really do observe that if mobility is not an issue,
people now tend to move away from laptops towards self-built PCs (or often
rather: let a good friend build one). I don't want to go into the details what
advantages these have over laptops, but just mention customizability with
respect to requirements (e.g. very silent, very high-power, ...) and
repairability.

A small (but only small) contributing factor is that laptops do not have
sufficient power for VR, so you really need a stationary PC for VR.

The strongest "dampening factors" with respect to this trend are the growing
prices of GPUs, because lots of cryptocurrency miners (in the last years in
particular Ethereum) hoard them (but it is my impression that this will
somewhat ebb away as soon as attractive ASICs for Ethereum get released) and
the growing prices of RAM lately. On the other hand the release of Ryzen made
building of PCs with either very high-performance or very good cost-benefit
ratio feasible.

~~~
lev99
Is building your own PC really a recent trend?

A lot of early pcs were kits people built, and I remember pc gaming in the
'90s and '00s was also heavily focused on custom built machines.

~~~
jhanschoo
Probably the last couple decades saw custom PC building decline in market
share as prebuilt solutions became mainstream, but perhaps it's seeing a
resurgence now that most consumers have moved from focusing on computers to
focusing on smartphones as their personal tech hub.

~~~
HelloNurse
Now that prebuilt PCs tend to be cheap and limited, anyone who wants something
better needs to build the machine from parts.

~~~
lev99
Prebuilt pcs were cheap in the '90s and '00s as well. Premium brands like
AlienWare still exists for gamers.

~~~
wolfgke
But in the 90s laptops were insanely expensive. :-)

------
mankash666
The classic "Fuck Off" hubris from Apple.

Their B.S. is getting out of hand. List of gripes:

1\. Heavy handed regulation of app store: This needs intervention from
regulatory authorities. Apple has successfully inserted itself between the
consumer and producer of apps. It plays kingmaker, and very clearly promotes
internal apps to the competition (recent ban of the Steam app is a prime
example). It's only legal recourse stems from being ~17% of the mobile
hardware market, but from a paid-app developer's perspective, not being on the
app-store is a definitive death-knell. It's a clear monopoly in the 'paid-app'
space, and others are arguing a monopoly classification on other grounds
[1][2]

2\. Unreasonable restrictions placed on approved apps - like disallowing non-
webkit based browser engines. Restricting API access though user security
isn't compromised (dlopen, webgl-2, opencl, vulkan, etc). Restrictions
designed to choke-hold potential competitors & restrict user choice

3\. Forced licensing of hardware parts for accessory makers (look up the Apple
MFI program)

4\. Purposeful non-conformance towards industry standards (like OpenGl,
Vulkan, WebGl, many, many holes in open-wen compliance). This non-conformance
is steeped in monopolistic, unfair-trade-practices psychology to maintain
absolute, unfair control over any potential competition.

I hope France fucks them for purposefully slowing down older iPhones/iPads.
And hope the FTC, EU regulatory authorities pay heed to app-developers (and
consumers) getting shafted by a beast of a corporation.

[1]: [http://www.businessinsider.com/apple-monopoly-ubs-steven-
mil...](http://www.businessinsider.com/apple-monopoly-ubs-steven-
milunovich-2017-3)

[2]: [https://www.pcworld.com/article/3157551/mobile/apple-must-
fa...](https://www.pcworld.com/article/3157551/mobile/apple-must-face-claims-
of-monopoly-in-iphone-app-market.html)

~~~
Tloewald
1\. If cable tv providers can get away with disintermediating TV viewers from
TV stations I don’t see how Apple is any worse, especially since I can still
buy third party apps, but I can’t either set up or tune into an indie TV
station. Amazon is a far worse problem with respect to books (and without any
demonstrable user benefit) so good luck waiting for regulation here.

2\. Again, you can use Chrome on a Mac. The App Store is not stopping anyone
from using anything, it’s just facilitating certain cases. Microsoft installs
its apps on your machine without asking you (and has an App Store). Don’t even
get me started on Nintendo. Seriously, you’re complaining about the least
worst (commercial) player in this space.

3\. Clutching at straws here. No one cares.

4\. You mean like OpenGL, and two other OpenGL things. Again, Microsoft
DirectX is what?

5\. Apple intentionally slows devices down to prevent random shutdowns from
peak power draw when the battery has aged. This is a good thing, well
implemented, but poorly explained. Apple has paid a PR penalty for its lack of
transparency, and having them suffer regulatory punishment for this seems
harsh.

Ok, I get it, you hate Apple. But unless you avoid all commercial vendors I
don’t think you’re going to find someone that satisfies your peculiarly
quixotic requirements.

~~~
Jedi72
"Why are you arresting me for armed robbery, dont you know that guy is a
Murderer??"

~~~
freedomben
Yep:
[https://en.wikipedia.org/wiki/Tu_quoque](https://en.wikipedia.org/wiki/Tu_quoque)

------
codeonfire
Looking at the clearly sparse docs, Metal looks like some jackass's pet
project. For people who get off on making everyone else use their system by
systematizing the obvious and the already done, graphics apis have an allure.
However, most people, let alone companies are not capable of replacing OpenGL
and OpenCL.

------
seba_dos1
[https://news.ycombinator.com/item?id=17231593](https://news.ycombinator.com/item?id=17231593)

Also,
[https://news.ycombinator.com/item?id=17231120](https://news.ycombinator.com/item?id=17231120)

------
moocowtruck
say wuuuuuuuuuuuuuuuuuuuuuuuuuuuut

------
d--b
> Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but
> these legacy technologies are deprecated in macOS 10.14.

Er...

------
goalieca
OpenGL sure.. it's time to die. Replaced with vulkan it has been. Oh wait..
vulkan? uhmmm.. metal you mean to say.

~~~
DiThi
Well, at least MoltenVK is completely open source now (Apache 2 license).
[https://github.com/KhronosGroup/MoltenVK](https://github.com/KhronosGroup/MoltenVK)

So yes, Vulkan is kind of the universal graphics API now.

------
Philipp__
What the fuck?! I don’t get it, why?! They want us to focus on Metal? I
definitely need to but desktop now, plus I want CUDA! Ryzen 5 2600X with
GTX1070 and I’m done.

~~~
mdanger007
Got a caller on hold, says his name is The Future. He wants to talk to you
about Metal Framework.

~~~
vortico
The future is Vulkan, not Metal.

~~~
pjmlp
On Linux and some Android devices, everywhere else not really.

------
kilon
Apple killed Flash and now they kill OpenGL. Both incredibly crappy
technologies that survived for so long because of their popularity.

Nowadays Unreal Engine fill the role very well and can sit on top of any
platform easily. Popularity wise , together with Unity have completely
destroyed both Metal and OpenGL. Vulkan , stands no chance too. Unreal Engine
is also open source and very easy to extend because of Blueprints. Unlike
OpenGL , is not a C API trying to shoehorn itself into a C++ dominated world.

I have to use OpenGL 3.3 and I am amazed how badly designed it is. A brief
look into Vulkan made even less sense.

I don’t agree with everything Apple does but killing Flash and OpenGL is two
of my favorites. My only complain is that they have not done it as
aggressively as they did with Flash. If they manage to kill JavaScript and
HTML/CSS abominations I will become a hardcore Apple fan.

~~~
rock_hard
Unreal and Unity are 3D engines, OpenGL is a API on top of the graphics card
driver much like Direct3D...they are both very different things!

Unity and Unreal engines are both built on top of APIs such as OpenGL and
Direct3D

~~~
kilon
No they are not , they are both APIs. The fact they run on top of drivers is
nothing impressive if anything they make a tiny fraction of the APIs Unreal
depends on because it’s so much more than a 3D Engine. Unreal runs on top of
Vulkan and could also replace both Vulkan and GPU drivers. API dependence is
nothing special and hardly makes something so different. There is no
limitation on how low level Unreal can go.

