WWDC 2018: Deprecation of OpenGL

#1
WWDC 2018: Deprecation of OpenGL

Apple announced that they will deprecate OpenGL with macOS 10.14 (Mojave). That was actually quite a shock since I didn't expect that move that fast. Especially if you consider that most games (2D and 3D) use OpenGL today. I'm already curious how many games and apps actually get ported to Metal since it's not a trivial transition.

But for the first "deprecated" just means that Apple won't update OpenGL anymore. That Apple freezes the OpenGL feature set. So investing any further time in OpenGL is just a waste for time.

I've already started work to port the OpenGL code from the legacy profile to the OpenGL core profile (OpenGL 3.x, vertex- and fragment shaders, vertex buffers, etc.). I wanted to make that in between step on the way to Metal since OpenGL 3.x is supported by every Mac with macOS 10.8.5 and newer. The hardware and macOS requirements for Metal are much higher. Especially if you use Metal 2 which requites macOS 10.12.:(

So moving straight to Metal (or Metal 2) would mean leaving back many Cheetah3D users with older Macs. Something I wanted to avoid but which is more complicated now. So I wished Apple would have given developers some more time for the transition. Especially since it is a transition with many negative side effects.

I can just hope that the rumours about Apple switching to it's own ARM processors are untrue. Because if they are true the complete drop of OpenGL could happen much faster than some might expected.

So Cheetah3Ds future is now obviously Metal. Although the OpenGL 3.x step would have made more sense.
 
#2
Thanks Martin for clarification.
So moving straight to Metal (or Metal 2) would mean leaving back many Cheetah3D users with older Macs.
I think if the feature set of Cheetah3D 7 gets completed as planned maybe till next year while OpenGL still works on the next MacOS version we would have a
well working combination that could be used on older Macs for several years on.

Lots of users now are on older systems and several still use C3d v6.

When Cheetah3D v8 were build for Metal and released 2019 or later with support for MacOS since 10.12 and running on Macs since 2012 that would be quite ok IMO.
So Cheetah3Ds future is now obviously Metal.
That's great news actually because Metal means GPU support not only for dedicated cards but also the integrated Iris Pro graphics that most Intel cores include and also externally connected eGPUs would work with Cheetah.
And implementing live render previews that probably every user wants could be done on this occasion (just speculating) :smile:
 
#3
I wonder if it's worth having the perspective for those that have older systems that if Cheetah weren't here the only alternative aside from Blender would be a MUCH more expensive modeling application that cost thousands of dollars--and in some cases thousands of dollars *per year*. If there is one takeaway purchasing a new system to have access to the latest and greatest Cheetah is still cheaper than the competition, and you have a new system to boot.

I wonder, what were your thoughts on the refinements to the Mac App Store? Does it look like something you'd be interested in moving back into? I so often loathe the software subscription model, but if Cheetah were reasonably priced I would do a subscription to access it inside the Mac App Store.
 
#4
I think the primary reason why this deprecation note comes now is the success Apple have had with the GPU in the A11 Bionic chip, combined with frustration with Intel. To me it looks like Apple have made the decision to equip some future Mac configurations with their own GPUs, and possibly as soon as for the next system release (10.15) in the fall of 2019.

it is also worthwhile to note that just about every alternative to Cheetah is 100% dependent on OpenGL, including Blender.

Blender is possibly the least likely to be ported to Metal given the lack of knowledge of how to write a Metal renderer. The few resources out there are unlikely to devote their time to unpaid open source development.
 
#5
I wonder if it's worth having the perspective for those that have older systems that if Cheetah weren't here the only alternative aside from Blender would be a MUCH more expensive modeling application that cost thousands of dollars--and in some cases thousands of dollars *per year*. If there is one takeaway purchasing a new system to have access to the latest and greatest Cheetah is still cheaper than the competition, and you have a new system to boot.

I wonder, what were your thoughts on the refinements to the Mac App Store? Does it look like something you'd be interested in moving back into? I so often loathe the software subscription model, but if Cheetah were reasonably priced I would do a subscription to access it inside the Mac App Store.
Buying the software from a site authorised by Martin is just as safe and reliable as the Mac App store.
 
#6
I wonder, what were your thoughts on the refinements to the Mac App Store? Does it look like something you'd be interested in moving back into? I so often loathe the software subscription model, but if Cheetah were reasonably priced I would do a subscription to access it inside the Mac App Store.
I heard about the refined MAS sandbox requirements and they gave me some late satisfaction. For many years Apple treated developers like me like idiots. Now they finally admitted that their sandbox caused some serious problems to certain products. I informed them about these problems in Feb. 2012 and they closed my bug report with the argument that there is no problem and that I should leave the Mac App Store if I don't want to sandbox my app. The damage that was caused by that policy was huge and isn't forgotten just because they reacted to an obvious shortcoming in their system after 6 years.

So I'm sorry to say that. But the weakened sandbox requirements are no reason for me to return to that very special shop. Too much glass got broken.
 
Last edited:
#7
I think the primary reason why this deprecation note comes now is the success Apple have had with the GPU in the A11 Bionic chip, combined with frustration with Intel. To me it looks like Apple have made the decision to equip some future Mac configurations with their own GPUs, and possibly as soon as for the next system release (10.15) in the fall of 2019.
I'm sort of worried that that is one of the reasons. If that's the case OpenGL might be history already next year. Since I would be surprised if Apple would spend the time to write a full OpenGL driver for his own GPU.

So I'm taking the OpenGL deprecation quite serious.
 
Last edited:
#8
I heard about the refined MAS sandbox requirements and they gave me some late satisfaction. For many years Apple treated developers like me like idiots. Now they finally admitted that their sandbox caused some serious problems to certain products. I informed them about these problems in Feb. 2012 and they closed my bug report with the argument that there is no problem and that I should leave the Mac App Store if I don't want to sandbox my app. The damage that was caused by that policy was huge and isn't forgotten just because they reacted to an obvious shortcoming in their system after 6 years.

So I'm sorry to say that. But the weakened sandbox requirements are no reason for me to return to that very special shop. Too much glass got broken.
The benefits of the Mac App store for developers and customers are wildly over stated. It's not a bad system, but neither is any other legit software purchasing method.

I simply don't understand people saying they won't buy software unless it's on the MAS.
 
#9
I think if the feature set of Cheetah3D 7 gets completed as planned maybe till next year while OpenGL still works on the next MacOS version we would have a
well working combination that could be used on older Macs for several years on.

When Cheetah3D v8 were build for Metal and released 2019 or later with support for MacOS since 10.12 and running on Macs since 2012 that would be quite ok IMO.
The problem with the OpenGL -> Metal transition is that it's pretty complex. OpenGL legacy profile and Metal are 100% different. All drawing code has to be rewritten from scratch.

The PPC -> x86, the 32Bit -> 64Bit or the non-retina -> retina display transitions were nothing compared to that.

So my whole planes for the future have to be reconsidered now.
 
#10
The problem with the OpenGL -> Metal transition is that it's pretty complex. OpenGL legacy profile and Metal are 100% different. All drawing code has to be rewritten from scratch.

The PPC -> x86, the 32Bit -> 64Bit or the non-retina -> retina display transitions were nothing compared to that.

So my whole planes for the future have to be reconsidered now.
Martin, just make sure you implement volumetrics and SSS before the change to Metal. :D :)
 
#11
The benefits of the Mac App store for developers and customers are wildly over stated. It's not a bad system, but neither is any other legit software purchasing method.

I simply don't understand people saying they won't buy software unless it's on the MAS.
Apple will make it harder to run applications that are not distributed via the Mac App store in that it sounded like applications not notarized with an Apple developer ID or being from the App Store would be prevented from running (although probably not for command line applications and libraries).

The Notarization was presented, but not described how to. They said app developers should start the process of getting their apps notarized already now to make sure they will run in the future.
 
#12
Apple will make it harder to run applications that are not distributed via the Mac App store in that it sounded like applications not notarized with an Apple developer ID or being from the App Store would be prevented from running (although probably not for command line applications and libraries).

The Notarization was presented, but not described how to. They said app developers should start the process of getting their apps notarized already now to make sure they will run in the future.
The documentation about the Notarization process is pretty thin at the moment. Time will show how that effects Cheetah3D. So far Notarization isn't mandatory.
 
#13
Apple will make it harder to run applications that are not distributed via the Mac App store in that it sounded like applications not notarized with an Apple developer ID or being from the App Store would be prevented from running (although probably not for command line applications and libraries).

The Notarization was presented, but not described how to. They said app developers should start the process of getting their apps notarized already now to make sure they will run in the future.
Thanks for that. But that is simply Apple brow beating developers into their ecosystem, and not really about any genuine advantages of the MAS.

I have no idea what Notarized means for software, but I'd be very keen to see if Maxon, Adobe, Autodesk etc. will follow this directive, or just give up on Apple altogether.

Apple's desertion of anything professional or high end is almost complete.
 

podperson

Active member
#14
It seems to me that the argument in favor of Metal 2 at Apple runs a bit like this:

OpenGL is essentially the "long tail" for GPU manufacturers. They mostly care about DirectX performance, and then provide OpenGL support for everyone else (Linux, Mac, etc.). This leads to a situation where Apple gets screwed by inferior drivers.

Enter OpenCL, which nVidia treats as its long tail.

Worse, because Apple previously supported OpenCL and Metal, Adobe (which is still on a LOT of Macs) treats Metal as a bastard stepchild (see the benchmarks of Adobe's stuff on Metal vs. OpenCL).

By killing OpenCL, Apple can at least get Mac app developers' undivided attention for ONE of its tech platforms.

Now, you might wonder why do Metal at all? Well, OpenGL has not exactly been going from strength to strength…
 
#15
It seems to me that the argument in favor of Metal 2 at Apple runs a bit like this:

OpenGL is essentially the "long tail" for GPU manufacturers. They mostly care about DirectX performance, and then provide OpenGL support for everyone else (Linux, Mac, etc.). This leads to a situation where Apple gets screwed by inferior drivers.
I'm sure the backend of the GPU drivers are pretty similar for every platform and are delivered by the hardware vendors. But for some reason OpenGL on the Mac was often considerably slower than on Windows. And often many versions behind. In my eyes that was mainly Apples fault.

The performance advantages of Metal were also highly exaggerated. I'm still waiting to see a real world application which is 10x faster with Metal.:wink: Most games that were ported to Metal just saw minor speed improvements which didn't surprise me. Is that really worth breaking compatibility.

Enter OpenCL, which nVidia treats as its long tail.

Worse, because Apple previously supported OpenCL and Metal, Adobe (which is still on a LOT of Macs) treats Metal as a bastard stepchild (see the benchmarks of Adobe's stuff on Metal vs. OpenCL).

By killing OpenCL, Apple can at least get Mac app developers' undivided attention for ONE of its tech platforms.
The big developers like Adobe, Autodesk and Co. won't be effected by the OpenGL/OpenCL deprecation. They can easily afford the OpenGL -> Metal port. The smaller developers will have much bigger problems. It's the smaller 3D and scientific apps that will silently disappear.


Now, you might wonder why do Metal at all? Well, OpenGL has not exactly been going from strength to strength…
I'm using OpenGL since Mac OS 9 and Apple was most of the time 1-2 years behind the Windows version. If Apple would have always kept their OpenGL implementation up-to-date the difference would have never have been that obvious.

OpenGL is now at version 4.6 while Apple still ships OpenGL 3.3 (from 2010).
 
Last edited:
#16
I'm still waiting to see a real world application which is 10x faster with Metal.:wink
I had watched the official video - 'Working with metal overview', it says that the draw call time of CPU part is 10x faster than that in OpenGL, not the GPU speed!

That means you may do more things to wait for GPU, such as physics simulations, etc.

If the draw call period is already shorter than GPU period, it will not help to increase running speed.
 
#17
I had watched the official video - 'Working with metal overview', it says that the draw call time of CPU part is 10x faster than that in OpenGL, not the GPU speed!
Yes, you are right. They indeed said "10x Faster Draw Call Rates". For some unexplainable reason I just remembered the "10x". Stupid brain.:wink:

I actually would have been half as angry about Apple if they would have give developers a concrete date (or macOS version) when OpenGL will be completely removed. But they only deprecated it. That could mean that OpenGL will be with us for just another year or for another 5 or 10 years. That makes it very difficult to plan things.

My actual plan for the following 12 months was to fill the gaps in Falcon (SSS, displacement mapping, etc.). Now I'm completely clueless what to do next.

At the moment I expect at least 6 months of work for the Metal transition. So should I drop all my plans and start with Metal immediately or is there no reason to hurry.

A WWDC never left me that clueless.
 

Attachments

#18
The problem with the OpenGL -> Metal transition is that it's pretty complex. OpenGL legacy profile and Metal are 100% different. All drawing code has to be rewritten from scratch.

So my whole plans for the future have to be reconsidered now.
I'm sorry to hear how the arrogant politics of Apple have messed with your future planning and understand that a Metal transition requires a huge effort.

That being the downside, but are there also possible advantages?

Does this possibly show that Apple finally shows more dedication towards its own
graphics API than before with OpenGL/CL so that in the end investment in Metal would pay?

If I get this right, Metal replaces OGL and OCL and thus would enable GPU accelerated rendering?
And if so, all accessible graphic cards, integrated, dedicated and external could be utilized simultaneously ?

Would this allow for rendered preview / real time rendering (changes in the project show up in render instantaneously)?

Then the path for transition could be chosen to include those features and arrive with a vastly more potent version of Cheetah/Falcon in the end, given that there is still time with OGL/OCL working on OS 10.14.
 
#19
My actual plan for the following 12 months was to fill the gaps in Falcon (SSS, displacement mapping, etc.). Now I'm completely clueless what to do next.

At the moment I expect at least 6 months of work for the Metal transition. So should I drop all my plans and start with Metal immediately or is there no reason to hurry.
You could make a poll :wink:

(I'd expect the folks here want the missing feats more than a quick Metal transition.)
 
Top