Live data from Hacker News

Deprecation of OpenGL and OpenCL

developer.apple.com

421–430 of 466 posts

Re: Deprecation of OpenGL and OpenCL

#421

Earlier quoted context omitted.

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://for…

As much as Apple would like to emulate the Microsoft of the 1990's, they're just so bad at it . Embrace. Extend. Then extinguish.

Apple's model is Embrace. Replace. Extinguish.

Re: Deprecation of OpenGL and OpenCL

#422

Earlier quoted context omitted.

> No, you're getting stuck at 3.0 because you're hitting the deprecation strategy. I think you’re wrong here. Two reasons. 1. If that would be the case, I would be stuck with GL3.0 regardless on the GPU. In reality, I’m only stuck with GL version 2. Please read Intel’s documentation: https://www.intel.com/content/www/us/en/support/articles/000... Specifically, please expand “2nd Generation Intel® Core™ Processors” se…

> 1. If that would be the case, I would be stuck with GL3.0 regardless on the GPU. In reality, I’m only stuck with GL version Behavior depends on if the device supports 3.2+ compatibility mode which is optional. You're hitting the legacy path, that's well-defined ( https://www.khronos.org/registry/OpenGL/extensions/ARB/WGL_A... ). You need to use the method I mentioned to get real post-3.0 OpenGL. > Also, you can see…

> depends on if the device supports 3.2+ compatibility mode which is optional.

For the systems I have in this house it’s not required, i.e. I’m getting the same OpenGL version that’s advertised by the GPU vendors.

> You need to use the method I mentioned to get real post-3.0 OpenGL.

Either I don’t, or the authors of that GLEW library https://www.opengl.org/sdk/libs/GLEW/ already did that. When running on modern GPUs, the code in my repository already uses real post-3.0 OpenGL just fine, including the shaders.

> ok, so? 4.5 isn't really outdated, either.

Right, but 3.1 (Intel Sandy Bridge) is. And 4.0 is outdated, too (Intel Ivy Bridge). Meanwhile, modern Direct3D works fine on these GPUs, 11.0 feature level 10.1, and native 11.0, respectively.

Re: Deprecation of OpenGL and OpenCL

#423
post #413

Earlier quoted context omitted.

LibreOffice uses OpenGL and OpenCL extensively.

Why use Libre Office on a Mac when Pages, Numbers and Keynote are free (as in beer)? I’m going to go out on a limb and make a baseless argument that the Libre Office install base on the Mac is very low. On iOS it’s non-existent.

There is no way that Pages, Numbers and Keynote can open as wide a range of file formats that LibreOffice can. And there are way more features in LibreOffice.

On iOS, dunno, you probably have a point there.

Re: Deprecation of OpenGL and OpenCL

#424

Earlier quoted context omitted.

Boycott Apple... and then what? What's the viable alternative? Android? No, thank you. At least you have some leverage over Apple by the virtue of being the customer. The competitor's business model makes it much harder to influence, which is hostile to the customer and their privacy. If you think Android is really open, think again. Without Google Play Services and Play Store you are basically hosed.

Android let's you install any app outside the store through sideloading. Imagine that, being able to install the software of your choice on the hardware you paid for!

FYI, it's been a while since you can get a signing developer certificate for free and sign and deploy any app you want for your own device. You can't easily distribute it though, as the complexity is equivalent to sideloading. It's a fair point that Android supports non-Google Play app stores and "Unknown Sources" app downloads. Google Play Services is a a very key tie-in though that's hard to avoid even if you're on LineageOS.

Re: Deprecation of OpenGL and OpenCL

#425
post #417
post #230

Earlier quoted context omitted.

Because the developers who would be working on OpenGL on macOS are working on Metal instead, because that's where the value is for Apple.

Maybe.... why would you assume they continue developing for macs at all? Small studios might not have the resources, and the market is tiny for many apps, eg indie games, modeling software, and ML (to be fair, apple has repeatedly emphasized they don’t care about ML on the desktop by not offering nvidia cards...). And again, I don’t see the benefit for apple over supporting cross platform apis to encourage developmen…

They do make some money on Macs, and Mac software, but not nearly as much as on iOS.

Providing macOS gives a developer and designer platform for iOS. That is really important for them. So Metal being available on macOS is important for that reason. But it's also important in that the Mac platform is still important, just not nearly as important as iOS.

OpenGL doesn't really have much of a future. Everyone is moving towards the next generation frameworks. It just happens that there was a lot of uncertainty about whether OpenGL could adapt or whether there would be a successor, and during that time Apple decided to invest in developing Metal. It wasn't until a couple of years later than Vulkan was released.

In the meantime, Apple has built up quite a lot of tooling around Metal.

And it's not like it's that difficult to write cross platform apps that target the Mac. If you write against major engines, they will already have support for the different backends. If you are writing your own software, you can still target OpenGL, or you can target Vulkan and use MoltenVK to run it on macOS.

And for the next several years, people writing portable software are going to have to either just target OpenGL, for compatibility with older graphics cards, or maintain at least two backends, OpenGL and Vulkan. Given that lots of games target DirectX first, and consider any of the cross-platform frameworks a porting effort, Apple probably doesn't consider it a big loss to add one more platform that needs to be ported to.

What's going to wind up happening is more software like ANGLE (https://github.com/google/angle), MoltenVK (https://github.com/KhronosGroup/MoltenVK), and gfx-rs (https://github.com/gfx-rs/gfx and https://github.com/gfx-rs/portability, see http://gfx-rs.github.io/2018/04/09/vulkan-portability.html for details) for providing one set of abstractions on top of several different backends.

Re: Deprecation of OpenGL and OpenCL

#426
post #393

Earlier quoted context omitted.

You’re not giving history it’s due. Go back in time six years ago. What were Apple’s choices? (1) continue to live with the deficiencies of OpenGL. Remember that, over time, it had come to fail at one of its primary purposes which was to provide efficient access to GPU hardware. Further, sticking with OpenGL would be to accept the leadership of a group that had allowed its flagship standard to falter. (2) They could…

The time table is being pretty generous to Apple. Metal, Vulkan, and DX12 are reworked versions of Mantle. The entire point of Mantle was to be a proof of concept that could be reworked into cross platform API (which became Vulkan), there was plenty of work already being done by Khronos in 2014 (and Apple knew this). And they just went out and released Metal anyway. I also blame Microsoft for the same thing, early pa…

Talk about rewriting history, Mantle wasn't never supposed to become Vulkan, it only happened because AMD was generous and Khronos would otherwise still be thinking how OpenGL Next would look like.

It started as an AMD/Frostbyte proprietary API.

https://community.amd.com/community/gaming/blog/2015/05/12/o...

Re: Deprecation of OpenGL and OpenCL

#427

Earlier quoted context omitted.

> OpenGL is only outdated on macOS Also on Windows. Apparently, if you want to distribute your software to wide audience, you can only rely on OpenGL 3.0, with minimal set of extensions. Here’s an example: https://github.com/Const-me/GL3Windows#building-and-running All the target systems had latest Windows updates, and they all run Direct3D 11 software just fine (I mostly develop for D3D and I test on them). On some…

No. Both ATI and Nvidia drivers include recent OpenGL versions, so OpenGL support problems are limited to actually not capable hardware. In the old link you offer as example, Intel HD3000 and HD4000 are bad, with bad drivers that lie about OpenGL versions (hence the need to downgrade the client), and fortunately obsolete. Current Intel integrated graphics have improved. And VMware is a virtual machine, not hardware;…

Yeah, but that software won't run inside Windows containers, like the store, or work with the Visual Layer Engine in W10.

Re: Deprecation of OpenGL and OpenCL

#428

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.

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

Re: Deprecation of OpenGL and OpenCL

#429
post #72

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

That hobbyist can still use Qt, because nowadays they support multiple graphical backends.
Post reply on HN