macOS is deprecating openGL

So am I understanding this correctly? OpenGL no matter it’s disadvantages works on Linux, MacOS and Windows now, right? Metal works only on MacOS. That seems like a problem even if OpenGL is terrible, why change it to something that works on one platform only?..

Kilon, I have strong feeling you have zero experience with any graphics API whatsoever.

You point to how complex it is to get a triangle on-screen with OpenGL 3.3, but guess what: It’s not any more complicated than doing the same in Metal:

That’s just how graphics APIs work these days. APIs like D3D12 and Vulkan have even more boilerplate. Once you get stuff up and running, it doesn’t matter that much anymore.

The main difference (and problem) besides all the cruft in OpenGL is that a lot of stuff works on a global context, whereas in other APIs you create a context and pass it around.

…which is exactly the right way to go. OOP in a graphics API is pointless, the only difference is whether you call methods on some context object or whether you pass the context as function argument. The C ABI is the only common and stable ABI you’re going to get. You can immediately use it with pretty much any foreign function interface. Even if there was a C++ interface, it would be working with C linkage under the hood.

Apple decided to make Metal more consistent with their “object oriented” platform languages, but nobody outside the Apple bubble (and inside the graphics industry) benefits from that. It’s just more platform-specific crap to put behind some wrapper.

I don’t even know what you mean by that, but it sounds like nonsense. Again, there’s no point to OOP in a graphics API. You can’t have stuff like inheritance and virtual functions on the GPU.

Literally the only difference I see is whether you have methods or functions for the same functionality, but that just doesn’t really matter. You can use some OOP to architect your applications, but that’s orthogonal. Using C++ doesn’t imply using OOP. Lots of people are moving away from OOP, because it can lead to very poorly performing systems when taken too far.

The obvious alternative to that is not Metal though. There’s a modern, cross-platform alternative to Metal called “Vulkan”. Apple just wants full control over their platform, which is understandable. From a developers perspective, it’s just really damn tiring. Nobody outside the Apple bubble cares about how nice Metal is, they only care that they now have to spend even more effort supporting their platform.

That means products will be worse for everyone, because that programming effort has to come from somewhere. What are the odds that somebody puts extra effort to optimize for the fringe platform that is Mac OS? Slim at best.

16 Likes

Because Apple doesn’t care about other platforms. They want a world where everything revolves around them and screw everyone else.

1 Like

Well, that’s understandable, I mean every business wants people to use only their products. My problem with Apple is that they take advantage of their brainwashed users and hurt them in the process. Now the poor guys who choose to go with Apple pay 3 times as much as hardware of the same specs cost, they are actively discouraged to repair their broken products and suffer various inconveniences because of bad design and now software developers are made to suffer this and it will most likely hurt Apple’s users in one way or another as well. They can show the middle finger to some people some times, not to all people all the time. It seems Apple is on a solid track down in the last couple of years. More and more people realize that is not worth the money, and less and less people are able to recommend their production to others…

2 Likes

@Safetyman
Nope - as a company that makes a profit Apple is a highly successful.
They since a long time are not a computer company anymore but a service company.

@BeerBaron
I am by far no programmer but I quite often read that on windows directX is so popular because it improved in areas where OpenGL did not.

Let’s not forget that many apps on windows also use directX and not OpenGL.

Obviously this is no excuse for what Apple is planing. But from their point of view it makes sense. OpenGL improvements too to long which is why Vulcan was invented and Apple went with Metal.
Keep in mind with metal also machine learning is done so for Apple Metal is more than just an OpenGL replacement.

But I agree this is a paradox and concerning move they do.

1 Like

Direct3D is not one API. We’re up to version 12, with every version breaking compatibility. If you can do that, you’re bound to get something better as a result. OpenGL maintained compatibility for that entire time.

Direct3D also had far better drivers in the later years, which by itself would be a reason to prefer it when you don’t care about porting games to Mac or Linux. The last major game to launch with OpenGL was RAGE and it was a disaster exactly because of poor driver support.

What I mentioned is all about games, but the major game developers all have to support platform-specific interfaces anyway. When it comes to productivity applications, performance isn’t that important and rewriting the renderer all the time is out of the question. A lot of applications (like Blender) have been written to just directly use OpenGL everywhere. Apple is now serving them a huge bill for that.

Yes it’s an OpenCL replacement as well. It’s quite similar to OpenCL in many ways, which also was designed at Apple.

Does that mean all the major machine learning frameworks are going to support Metal now? Probably not, they barely support OpenCL, which is at least fairly similar to CUDA C.

1 Like

Blender or macOS, that is the question. I love both. I understand Blender Institute decision to use old but well known OpenGL in the brand new insanely great 2.8. I understand Apple decision to drop old technologies and move forward.
The Mac users have at least one year to make decision or wait for a miracle, Patreon, Indiegogo or other crowfunding to create Blender Metal.
I’m not sure at the moment. But if there is competition for Eevee in the next year, the choice will certainly be easier.

2 Likes

We have no timeline for when Apple will drop OGL support so not sure where you got the “at least a year” thing from. Apple has marked many thing as deprecated close to a decade ago that are still in the OS now like XQuartz. They just don’t update/maintain those anymore. I doubt OGL will disappear overnight. One would hope by the time OGL does get the ax that Blender would be on Vulkan and thus can run on top of MoltenVK or have a metal backend if some dev decides to take up the charge.

Apple doesn’t just have Blender to think about there are a lot of tools that need OGL. What Apple is essentially saying is that they are no longer going to maintain or update OGL which is nice that it’s official now but has been the current state of OGL on macOS for quite some time anyway. Apple is basically saying “Don’t bother us with support requests for OGL, we no longer maintain it and we may just remove it one day anyway, use Metal”.

3 Likes

I have some cross-platform products base on OpenGL, which run on iOS, macOS and Windows.

I’m studying Metal API now, and I have to make a choice: To re-write them all or simply abandon the Apple users.

There are so few tutorials and examples, I doubt if I can port them to Metal successfully.

@meshonline

I wouldn’t spend any time on that right now, there’s people with far more resources than you having the same problem, they’ll probably figure out something that you can use as well.

As it has been said multiple times, OpenGL still works for now.

1 Like

@meshonline

Yeah I would wait some month and see how this develops. I don’t think Apple is suicidal while the OpenGL announcement is questionable.

Apple as stated really has a history of announcing to cut technology but in general those transitions went over years giving everybody enough time to adjust.

So we will see …

1 Like

Metal was never and never will be a replacement for OpenGL, it’s more similar to Vulkan. OpenGL was trying to be more high level, Metal and Vulkan saw that the high level part was pretty much covered with existing game and graphics engine and decided to expose more hardware to optimize performance.

OOP is everything to Graphics. As a matter of fact, the whole evolution of OOP back in the old days during 70s , started with Simula but substantially evolved with Smalltalk and Self was to facilitate a graphical environment. Which brought the invention of IDEs and GUI applications. Most people dont know this because it was C++ that really popularised it , the decision of Windows to use something that was far more GUI friendly and Apple followed in similar footsteps.

And C++ nowdays can go as low level one can get anyway so even the level is not an excuse not to use OOP.

There is a lot to be talked about the design architecture followed by some Graphics API but then it speaks volumes that even on MacOS people will be far more likely to choose something like Unity , Unreal or other game / graphics engines. Medal as I said will be used by someone that wont benefit from a full blown graphics engine and wants something much smaller and lighter or wants to design his own for his own reasons.

The mobile game market alone has a revenue of 60 billion dollars and 50% of mobiles games are made using Unity with Unreal a distant second at 20% , that leaves a 30% for OpenGL, Metal, Direct3D and Vulkan combine but is highly unlikely they go remotely that high together as there are a ton more much less popular game engines out there.

https://digit.hbs.org/submission/unity-engine-a-unicorn-powering-the-video-game-and-vr-ar-economy/

And then, of course, there is the console and desktop platform which make another 40 billion dollars. Especially AAA titles on PC are severely dominated by Unreal.

On the matter of the future of Blender on Mac , thing dont look good, it took Blender ages to port to OpenGL 3
almost a decade after its release and its still a very much WIP as part of Blender 2.8. Blender cannot afford to port to Metal anyway , it just does not have the manpower to do so. I like to hope that support for Mac wont be dropped but taking into account that there was always an issue with finding Mac developers willing to work on OpenGL or Blender , I am not very hopeful. On the other hand the Mac market is small because many of us Mac users prefer Bootcamp anyway as it offers a lot more choices. Which is why the absense of OpenGL wont be even felt by average users.

Developers will always prefer the highest level APIs possible because they are the ones to deliver the good much faster with little compromise on performance. Plus you can always go lower level and optimise anyway.

Bottom line is OpenGL is gone and forgotten, at lest it old popular days, and soon Android will follow suit as well , cause they have the tendency to slowly follow Apple anyway as they did with Flash. Vulkan is already gaining a lot of ground.

The future belongs to the the game engines , especially now with the rise of VR/AR they are more needed than ever.

There are countless examples that people assumed that is not possible for somehing to die and disappear but it has happened again and again, especially in the game industry where so much money is on the table and where things change blazzing fast.

This thread will also be forgotten and Blender will at some point will have to drop OpenGL completely too. It may take another decade and another 2.8 but eventually will happen.

Its a simple unavoidable fact of evolution. Direct3d , OpenGL, Vulkan and even Metal depend on relic ideologies that have little impact in the extremely complex world of modern computer graphics. Some of then can still serve as low access APIs to an extend but they are just means to an end. If someone assumes that cannot be easily replaced, that someone is going to get quite a surprise party.

My money is on OpenGL on top of Vulkan on top of MoltenVK.

2 Likes

for MacOS ? or in general ?

I think in case of Vulkan it may be possible go for the middle road, a new API, more Blender specific, on top of Vulkan and to a degree OpenGL compatible.

In any case , it wont be happening any time soon, its going to be a huge rewrite for Blender, and for now OpenGL 3 gets the job done fine.

I would not bet on MotlenVK, I hear its very unstable, so MacOS at least to me seem pretty much a dead end.

I don’t blame Blender, OpenGL was the right choice but let’s face it, Blender tendency to invent everything from scratch however charming and impressive it tends to backfire this way. At some point there will have to be a compromise.

Not Blender Metal but Blender Vulkan as it will work soon on OSX.

World must force Apple to use future open standard Vulkan too.

2 Likes

None can force anyone to use something

Another evidence of Metal unpopularity compared to game engines this is from Apple directly

According to Apple, more than 148,000 applications use Metal directly, and 1.7 million use it through high-level frameworks, as of June 2017.[7] Presumably, most of these are applications and games on iOS. Notable macOS games using Metal for rendering are listed below.

This is even lower than 10% of all MacOS and iOS apps rely on Metal directly. Imagine how much worse the OpenGL is.

And Apple owns the largest game market in the world right now (see iOS revenues). So for them Graphics is a huge deal as iOS devices are mostly entertainment devices.

Obviously Blender cannot rely on existing game engine for a ton of reason but it puts in perspective how really important technologies like Vulkan, Metal and Direct3rd are. Even though they fuel the world of graphics for pretty much anything out there, developers want to do as little as possible with them and rarely deal with them directly.

This in turn means lack of documentation, third party support, community etc. And if Metal is so unpopular imagine a port of Vulkan on MacOS.

Why? They built Metal before Vulkan was even a twinkle in Khronos’ eye. When OGL was still playing catch up with DX11 and was still behind only getting parity when a AMD or NVidia bothered to add extensions to OGL.

Apple was basically supposed to wait for Vulkan to release (late as usual from Khronos). Wasn’t built to take advantage of what Apple was trying to do with Swift. Requires a lot of developer overhead where Metal is easier to setup overall than Vulkan imo. Then hand the fate of their platform to a committee with their own agendas? Does this make sense to you? Apple doesn’t just use Metal for games, their whole UI is running on top of it. I can guarantee that it will be used more heavily in their apps and OS as time goes on. Logic Pro for example has a plugin that requires Metal at the moment.

Games are cool and all but Metal isn’t just about games or graphics for Apple. They definitely have a plan for it.

2 Likes

Yeah - your comments summed up things well. OpenGL is not all that glorious in its past and Vulcan well itself needs time to mature.

I have various apps that rely on Metal and some are Metal macOS only and the speed speaks for itself. I have a CAD app that runs faster on the iPad than with openGL on PC/Mac so there is some truth to Metal and what Apple tries to do.

But I can see the struggle for Blender Foundation so I hope openGL will remain usable for some time. I am not qualified to make any predications or such about Vulcan Blender Win Mac OS etc but who knows.

And AMD tried something similar with their own Mantel API which they killed.

I bet that at one point Metal will what Apple prefers but openGL or Vulcan will be a secondary option.

2 Likes

I recommend giving Affinity Photo a try if you’re looking for a PS alternative. It’s the only image editor I’ve ran across that actually manages to top PS in some regards, though it’s layer system feels a little goofy sometimes considering the way it makes everything drag 'n drop.

2 Likes

Local VFX houses where I am at used to be almost exclusively mac. Now they are almost all exclusively PC, even the most hardened Mac users I know have switched and do not regret a thing. Apple must know this is happening, which leads me to believe they have simply chosen to abandon one market in favor of finding a new one. Their target audience may even be more region specific, China perhaps.

1 Like