Live data from Hacker News

Deprecation of OpenGL and OpenCL

developer.apple.com

21–30 of 466 posts

Re: Deprecation of OpenGL and OpenCL

#21
post #5

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 render…

I think they're expecting developers to use existing engines such as Unity and Unreal. Most game developers probably already use those engines are will not be effected. On the other hand, they definitely made it harder for developers to create a new game engine.

Game engine not so much, Apple has always been an "also ran" when it came to games. Moreover, these days nobody is writing new major game engines - it is just way too expensive and difficult to justify vs. downloading Unity and starting building your game. Furthermore, games have always been something that is on the market for a year or two and then it is done for, with the developers moving on.

However, where it will have major effect is availability of any professional software. Such as CAD. Mac has always been a pain in the ... platform to support because of their weird "Unix but not quite" ways of doing things and now there will be no justification to support it anymore, especially in the OSS sphere. E.g. I fully expect things like KiCAD (and also the commercial Eagle which has Mac support) PCB CAD to disappear from Mac as soon as OpenGL is removed. Nobody has resources to rewrite such software to use Apple-specific Metal. Another such project is OpenSceneGraph, a large building block for 3D visualization and simulation applications.

Re: Deprecation of OpenGL and OpenCL

#23

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,…

Agreed, I am in a similar situation. This is very sad. Also, while OpenCL is a bit verbose to interact with directly, Vulkan compute shaders are much much worse. I realise that at some point I will have to start using it, but I'm not looking forward it.

Re: Deprecation of OpenGL and OpenCL

#25

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,…

Okay, thats one explanation. The alternate explanation is that Apple supports mature and robust technologies because they want whats in their users' best interest. Neither OpenGL nor OpenCL in their current form are robust. Certainly, that is not to deny that Apple might have a vested interest, but its naive to think that everything is just black or white.

RE: HTML5 - Apple simply made a mistake. Jobs famously said that they don't want to support native apps because bad apps could bring down cellphone towers.

Re: Deprecation of OpenGL and OpenCL

#28
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.

Re: Deprecation of OpenGL and OpenCL

#29
post #5

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 render…

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

Post reply on HN