Deprecation of OpenGL and OpenCL

At the bottom of this page: What’s new for Apple developers - Apple Developer

I imagine that will have an impact on Vuo in the next few years?

Headed here to ask about just how Vuo will deal with this. While it is seen as pressing on to change to (proprietary) Metal, Vulkan will also be supported through a layer, but is still different enough from OpenGL in the first place that some rewriting will have to happen. GLSL will also have to be translated or changed to SPIR-V as far as I understand.

Apple sure know how to piss off its professional/enthusiast user base though, so I’m more wondering about how this will affect moving to different platforms when it comes to Vuo. If it becomes a Metal rewrite, I’d guess that future cross-compatibility will be out the window(s) taken the added maintenance for separate systems.

Unless the new Mac Pro, and next gen Macbook Pro is pure magic sprinkled with fairy dust,I’d wager Macs won’t be as prevalent as before. It’s already hard for us to justify buying macs when all our proper workhorses run Windows with superior performance at a lower tco. Saw the shift to Windows last festival season, and aren’t really expecting to see a lot of Macs through the door this year. Knowing Team Vuos thought on the matter would be beneficial for future planning.

Totally wanted to ask about this too !

Apple really is going down a strange route open-sourcing Swift for example, but not supporting cross-platform Vulkan !
Having to always hope for Apple to release powerful enough computers, with the latest CPU’s or powerful enough GPU’s (not even supporting Nvidia as an eGPU for example) really is starting to ***** me off.

I remember this topic : Apple Metal API in Vuo and Steve’s answer but now that Apple has talked about depreciation …

In some future, use the Kronos Mac Vulkan layer MoltenVK ?
Or use Metal ?

And please let me ask you guys a question totally from a non coder perspective (it just sounds good to me ;)), in Vulkan and metal, are there any equivalents to GPGPU ?
I guess somehow this feature request will be obsolete : OpenCL node ?
Also related : Ray Tracing Node Set  

@Bodysoulspirit

The way I understand Vulkan & Metal is that GPGPU is built in directly into the standard- as opposed to using an additional standard.

I am also very concerned. OpenGL isn’t going anywhere soon, as Vulkan is still actively developed. There are many titles that are cross-platform and rely on OpenGL to make this all work.

In theory simply the OS not using OpenGL shouldn’t stop it from working. However if Apple take measures to actively remove support (libraries etc) then possibly a 3rd party solution could keep it alive? (Linux has MESA etc, maybe this could be used as a starting point)

1 Like

To be honest, a metal-only Vuo that takes advantage of the latest built-in features is more what I had in mind when thinking of a Quartz Composer successor. I would rather they dropped the multi-platform ambitions and doubled down on the Mac platform.

Metal is built-in, straight from Apple, and is advancing with each year.It’s not going away because it’s common with iOS and will likely power the next generation of rumoured hardware.
If VUO could become a front end for all the CG stuff apple comes out with I think they’d be in a good place.

@alexmitchellmus ok. Sad Vulkan is not something you can just embed with your software and hop have it to work on mac ;)

@Superflea yeah but some people here in the community, me not included, but some massively voted for Vuo on Windows.
And also funded Vuo with that in mind.
And it could also make the Vuo community grow bigger.

With Apple making strange choices in regard of the macs and with some PC like Mi Notebooks starting to look good, sometimes myself I wonder if I will always stick to Apple.

But yeah in some feature, I wonder what strategy Vuo will have to go if it wants to make use of more modern GPU low level and more powerful API’s  

While I agree Apple had us all worried for a while, especially regarding their pro and desktop strategy, I don’t think they are making any strange choices now. In fact, they seem more lucid than ever regarding their pro platforms. On the software side, again I see a massive investment in CG with game and FX companies up front.
Just look at some of the news coming from WWDC regarding rendering, augmented reality, chained external GPUs and all that. This has been happening every year for some time now.

This is all stuff we would have killed for in the QC days, when all we had was sagging openGL support, a buggy editor and no interest in games or realtime media.

I think VUO could be riding this new wave.

@Superflea I am one of those strongly in favor of a Windows version of Vuo. I would also argue that if Vuo were to go down the “system exclusive” path (which I hope not by the way, but I’d understand it!), Windows should be that system. The reason is simple. You can’t get the performance on a Mac that you can on Windows. It’s not that it’s expensive, it’s that you can’t get it (I’m aware of Nvidia beta/web drivers - but they are an uncertain bet at this point). While external gfx cards is an option, you’ll at best pay twice the price for a decent enclosure and an OK card (Vega56/1070). Then there is the loss of efficiency. If the current Mac Pro is anything to go by, the next gen cards will be Vega 56 / 64, and they’ll be the standard option at full price until at least 2024.

Anyways, I suspect this will boil down to a choice between Metal and MSP for Mac or DX and HLSL for Windows or Vulkan and SPIR-V for cross-platform.

Crossplatform graphics currently is Vulkan, thankfully there is MultenVK, which allows Vulkan to run on Metal (in a native way).

However as I said before Vulkan is still actively developed, and there are still aspects that OpenGL does better (such as being able to swap out shaders on the fly).

However - currently all Mac OpenGL projects are discussing this issue, so Vuo is not alone.

Hopefully if Apple is able to nudge developers into using Vulkan (for cross platform- using MultenVK) it may also improve Vulkan, and give us efficient graphics pipelines.

For a while now, it has seemed like Apple has been devoting most of their resources to Metal at the expense of OpenGL. Most or all of Vuo’s known issues with certain GPUs (), not to mention many issues that we have fixed, are due to bugs in Apple’s OpenGL drivers.

So it’s not too surprising that Apple has officially deprecated OpenGL. We’ve been researching and experimenting with alternatives over the past few years.

Whatever changes we may see in macOS graphics support in the future, we can count on there being a great many potential Vuo users who, for whatever reason, are on Windows. We’ve promised to support Windows eventually and intend to keep that promise.

Ideally we’ll be able to find a viable cross-platform solution — something that would add support for Metal while paving the way for Windows support. MoltenVK is one possibility. We would convert Vuo’s OpenGL code to Vulkan, which runs natively on Windows (and Linux and Android). MoltenVK would enable the same Vulkan code to run on macOS (and iOS). Of course, we’ll have to do more testing of MoltenVK or any other graphics library to make sure it’s a good fit for Vuo.

If any of you have developed with Metal, Vulkan, MoltenVK, or other cross-platform open-source C/C++ graphics APIs, we’d like to hear your thoughts. Any pitfalls we should watch out for? Any slick features we could take advantage of?

Once we’ve done some more research and testing, we’ll let you know our tentative plan.

2 Likes

Thanks for the great info @jstrecker! As always it looks like Apple has pressed fast forward on the EOL of OpenGL. Hopefully it will be positive for the industry, and for Vulkan (which didn’t look like it was gaining traction on MacOS). All I know about Vulkan vs OpenGL is that it’s very different, very low level, and not always faster (for high resolution outputs no; but for 1080 much faster).

(When looking at game benchmarks etc)

UPDATE: Just been playing with the ‘Vulkan Traiangle’ tutorials… looks like I am wrong, and Vulkan can swap out shaders on the fly, (at least if I recompile the shaders obviously…) Having a default way to compile shaders (with error feedback) is a nice change to the silence that was GLSL.  

1 Like