macOS is deprecating openGL


(dracoroot7) #159

I abandoned Ubuntu for the same reason. I use an Arch linux based distro now; Arch has its own issues but I’m able to operate how I like and if I do something stupid, I can fix it without breaking the whole system.

(Dimitris Chloupis) #160

Is that the one with the crazy flexible package management system ?

I thought it called pacman or something

Looked interesting.

Oh there is one linux I fallen in love with , Puppy Linux, super light and actually suprisingly stable and easy to use. I love that distro although I had no need to use for ages now. I used to fix some nasty issues with windows and Ubuntu way back.

(kroko) #161

I sincerely trying to see your point of you and I am failing majestically. iMac Pro high specs are not powerful GPU ? eGPUs also can support more than one GPU , so you can make a monster setup though I am not aware how much performance loss there is there.

Maybe we are lost in translation.
Imac’s Radeon Pro Vega 64 is a really good GPU indeed. Bit weaker that 1080 and more power hungry, but still. I do not own this machine and I do not know know how well supported it is by Apple. Meaning - you take same speced MSW/nix box with Radeon Vega Frontier Edition (not Bootcamp) and compare. Meanwhile I’m well aware how D700 performs in trashcan and macOS vs same GPU on other OS (has Apple downclocked Vega 64 in iMac Pro, does it throttle?). And where would Vega 64 stand in two years, what is the longevity for this iMac Pro?

  1. My issue is with the OP itself - Apple dropping OpenGL. It is fantastic how fast one can bootstrap things in modern OpenGL (I abandoned 2.1 code ~2014, and in openFrameworks it was ~2015) in the field I’m working on - creative coding / interactive installations, where due dates are often do dates. Playing with computer graphics, sketching. Create VAOs, VBOs, EBOs is really simple, throw in shaders and you’re set. It HAS it’s place, I use it personally and will be forced to abandon macOS at some point. I do not need Vulkan nor Matal performance for graphics I create, they are not some open world game titles where bare metal and concurrency is needed :slight_smile:
    EDIT: and also as learning tool. CG has to do with linear algebra, homogeneous coords, eulers and quats. I can use OpenGL which takes basically no bootstrapping (especially if one uses some cc framework) to help my colleagues understand it, very easily, very intuitively. And most importantly - on whatever OS they prefer.

  2. Blender (best glTF support out there) is not only one reason. I use also CAD packages that rely on OpenGL, will they adapt or not time will tell.

  3. And you saying how old OpenGL implementation in macOS is ATIs fault.

So each time I read people mentioning iOS or MacOS as a closed system, a big smile forms in my face.

IMHO only given the history of it’s kernel it is open source and you present that as an achievement. Sure, it could be worse as BSD licensing would allow them not to publish it. When was the last time you looked at Quartz Compositor / Aqua source? It is probably about where you draw the line to consider OS closed or open, the line apparently differs between my and your definition :slight_smile: If MSW closed then it is because BOTH the kernel and DE is closed? What about, do they embrace or is it just a gimmic? My beef with MSW over last years has been closed nature and platform lock of Kinect SDK, libfreenect just does not cut it in many cases. But it’s their tech so… yeah. If your definition for macOS being open is that i can take BSD/nix stuff, compile it (or just brew install it) and it works (or Apple has already done it for me and bundled it in OS, your link), so let it be. This is THE reason (POSIX capability + industry standard GUI app support) why macOS is my OS of choice, but I don’t mix it up with saying that OS is therefore open. Don’t get me wrong, I agree that for the most part macOS is more openish than MSW, giving it’s historical ties, but saying more openish for me does not make sense - either you are open or not, gradient is irrelevant. iOs… can you install whatever apps you want on iOS, can you customize it, do you really own your iPhone it or just hire it from Apple to use it with AppStore? :slight_smile:

(kabu) #162

Not any of them. Just little-medium cross-platform apple developers. The big guys out there are well placed. Nothing dramatic is gonna happen. You may have to stick to clash of clans for longer than what you think…

(kroko) #163

Exactly. Big game engines have and will have Metal support. OTOY is doing Metal and others to follow. This hurts small/medium ones, indies and engineering industry. And Blender.

(Dimitris Chloupis) #164

OpenGL is called many things, easy you are the first one to claim such things. Obviously if you care about top performance for generic computation on CG like the one you describe OpenGL is not even option. CUDA and OpenCL and will vastly outperform OpenGL, Metal already does. Does not matter how recent your version of OpenGL is.

If ease of use is your goal, nothing beats a game engine and it will offer you top performance too.

OpenGL at this point main usage is legacy code. If you really need to make your own real time rendering engine like a game engine, Vulkan, Metal and Direct3d are the way to go. If you want to make an off line render engine like Cycles, CUDA and OpenCL. Ease of usage is covered not only by game engine but also tons of graphics engines , big and small, all having access to CUDA,OpenCL, Vulkan etc which are far lower level than OpenGL.

The problem for OpenGL can be summarised in 3 words, redundant, slow and difficult. If you really still love, great for you, but you belong in a very small minority that MacOS/iOS or no MacOS/iOS is diminishing for years now.

What I love about Apple is that they dont rub in your face that they support open source. They supported open source and free software way before it was cool to do so. They don’t follow the herd like Microsoft does because its OS market share is getting smaller. Nor they do it because of idealistic reason like Linux does and Blender, they do it for one reason and one reason alone, because they truly believe in open source and free software as the future of not free but commercial software.

We all know why Microsoft after decades of hostility now embraces open source. Two reason

  1. The disaster known as Vista
  2. The disaster known as Windows mobile

Now they do it the Apple way and even go up to the podium and pat Linux in the back. With such friends, you don’t need enemies. I am not impressed to say the least. But I will take it anyway, its better than nothing.

sure, it even has a name for it, jailbreak, kinda ironic because of how easey it is to break out of this “jail” which kinda defeats the purpose of a jail. Guess how much overflow of users and software there is on jailbroken devices.

Guess how much it improved the quality of the software or the usage of the device. If you own an iOS you don’t even have to guess , go try it, its super easy. Apple will skin you alive and dance around your corpse. But the download is super easy to find and make it work. I hear Hackintosh is not a much diffirent story either.

The very definition of a closed system.

In any case I am not here to convince you, I presented you with mountain of evidence, if you are not convinced already there is no point of me trying now.

But yes if you want my non-authoritian opinion on this, yes, MacOS and hence iOS are far more open than you have been told and far more open than you can imagine.

90% closed source, but that does not make a system inheritinly closed. Its just closes a big door and if there is one thing some developers love, is finding the backdoor. The rest of them, they prefer the herd and the easy way.

It’s not bad to follow the herd by the way, Blender introduced many features found commonly in 3d apps that it did not have previously, it made Blender a much better product. Including the latest big surprise, Eevee.

Just remember, because you have not seen someone do it, does not mean its not possible. Things worth finding are really found without some serious search.

Is that a trick question ?
I dont know about other countries but in my country and especially Europe, my legal expert opinion on this will have to be

hell yeah

Is that a bad or good thing ?

The only company that appears again and again on the games I download is Big Fish because I have a soft spot for hidden object games. Good exercise for the memory too.

All the other games are made by companies I never seen before apart from one game that I currently play. As a matter of fact is so weird how large powerhouses are so absent from mobile gaming in general.

Its funny also when the iOS variant looks better and plays better than the desktop version for example League of Legends vs Vainglory.

yes iOS small dev teams are starving. This is why web dev and iOS dev is No 1 choices for new pro devs.

(kroko) #165

you consider iOS open, because there is jailbreaking (which I do since 3G in 2008). using the world jail is ironic indeed. in a way you are saying that a jail is inherently open, because you can escape it (it does not matter how easily or hard it is). same as official mac hardware has open options, because you can build hackintosh. or macOS has GPU driver/API options, because you can build hackintosh with NVIDIA GPU and drivers. we really do differ in definitions and world views. :slight_smile:

90% closed source, but that does not make a system inheritinly closed.

0.1% is enough for me to say it is closed as i cannot unlock all doors. and me being able to forcefully break in the doors does not make it open either.

CUDA and OpenCL and will vastly outperform OpenGL

I am not talking about OpenGL as something I’m willing to do GPGPU on. And I find myself into position where game engines can’t help me to achieve custom goals. Yes, I like it for specific reasons. You should really look at what cc is about - s+v+m is a nice overview. these galleries do not get updated, but still oF gallery, Cinder gallery, processing gallery. or vimeo using keywords.

We can leave this conversation at mutual agreement to disagree with each other :slight_smile:

(Biddavar Khunt) #166

Oi mans!

A long thread to be for sure, if only for kroko and kilon to write books for us poor sole to not also read :shushing_face:

Seems like everyones - Apple MAC Metal, Blender and Ton will all win BIG with this!

(Stefan Werner) #167

I’d rather see them write code…Blender isn’t going to port itself to whatever API Apple wants us to use.

Not really. Porting from one base Framework to another is a ton of work, where the best case result in the end is that the application looks and behaves exactly like before. This is going to waste valuable developer time that could have been spent on new features or general improvements.

A speedup when moving from OpenGL to Vulkan or Metal is only going to happen when the current performance bottleneck is the driver overhead. In my experience, that is rarely the case in DCC applications.

(Biddavar Khunt) #168

Haha - I see you! Probably best they dont write any code, if it sucks too like their book :roll_eyes:
But agreed as you say, blender will be improve in speed up by this when the bottlenecks go.
Yes! Exciting changes!

(Biddavar Khunt) #169

Haha same irony too! If Linux only stole also the MAC GUI instead of kernel we all would have free AND awesome tools for digital art creation!!:thinking:

(Dimitris Chloupis) #170

Too late I am afraid

And today I am starting my first Blender fork. Run for the hills !!!

(Safetyman) #171

So is this entire thread a moot point for Windows users?

(Chad Gleason) #172

Well, kinda. Metal support on MacOS doesn’t inherently affect Windows at all. But the likelyhood is that in order to keep Blender running on MacOS for the long haul, Blender will likely have to port from OpenGL to Vulkan, which does affect windows and linux users. This is actually not unprecedented. Maya had to completely port to QT in order to get a 64-bit version running on the Mac, which took several years. But users on all platforms benefited from a greatly improved (mostly) more modern UI. So maybe blender users on Win and Linux will see similar residual benefits as well.

(cekuhnen) #173

I talked to the developer of a CAD app yesterday and he predicts that most people in the future go either Metal or when cross platform is needed go Vulcan.

He also sees Vulcan as the replacement of openGL and Vulcan runs on Metal.

(SreckoMicic) #174

Vulcan was not made to be replacement for OpenGl… That CAD dev should read a bit more if he wants to succeed with his app :smiley:

(m9105826) #175

Vulkan doesn’t “run on Metal”. There’s a project called MoltenVK that allows SOME parts of Vulkan to be translated into something Metal can understand, but it is in no way official, and there’s no guarantee that it will continue to keep apace with Metal in the long term, especially given how Apple likes to screw around with their standards after they’re defined. Porting to Vulkan is a massive project, and at best would provide a partial stopgap solution for Apple’s discontinuance of OpenGL support.

(m9105826) #176

True, it wasn’t made TO replace OpenGL, but it is entirely capable of doing so, and I think the writing is boldly on the wall that that’s the way things are going to go. Most devs want it, card manufacturers want to be able to simplify their drivers, and in high performance applications users are already enjoying the speed boosts it can provide. Once you’ve crawled though the boilerplate implementation, Vulkan makes much more sense logically in a modern coding workflow. As more people find time to play around with it, I doubt there will be many people aside from the chronically lazy stepping up to defend OpenGL, especially anyone who’s had to debug it before.

(Dimitris Chloupis) #177

Vulkan is indeed intended a replacement for OpenGL, even if the authors claim the contrary. When OpenGL came out it was the closets to the driver and the only cross platform alternative.

Both Vulkan and OpenGL are high level, what leads people to believe or claim that Vulkan is not replacement , is the fact that OpenGL is higher level. Vulkan has more actions to achieve the same result. However OpenGL was never intended as a high level library. The reason why it ended up been called “high level” was because it was too tied to the old architecture for compatibility reasons , in the mean time GPUs dramatically changed and it was time for a new OpenGL which is what Vulkan really is.

The goal of OpenGL to be nothing more than a layer above the driver, its reflected on the fact that it cannot even create the very window that will display its render. It’s problem is that it did not keep up with the times, because when it was conceived graphic cards were far simpler and offer a small set of harware acceleration functions. Unlike modern GPUs that offer such a fine grained variety of instructions that they can be used for tasks even unrelated to graphics, because of their much complex architecture.

Also drivers are not affected or made by Vulkan. nor Vulkan is nowhere near the low level architecture of drivers. Low level essentially means machine code , plus direct communication with the deep internal of the OS . Its an immense complex way of coding that is rarely practiced nowdays unless there is a very good reason.

OpenGL has been used mainly to create game engines and graphic engines. Vulkan does what the early OpenGL did , maps more closely to the driver and hence why its faster. So Vulkan will now be used for the very purpose that OpenGL is used, to facilitate the implementation of game and graphic engines.

So iwhen someone tells you that Vulkan is not meant to replace OpenGL, what he really means is that OpenGL “is too old for this shit”.

Apple’s turn to Metal is a huge blow both to OpenGL but also to Vulkan. OpenGL was never really that popular, but OpenGL ES was , a version of OpenGL made for mobile devices. Those devices have much simpler gpus. The two main platform for OpenGL ES was iOS and Android and now the only one to remain is Android. The problem is that gpus even on smartphones have started to become far more sophisticated so most likely Vulkan will replace OpenGL ES on Android. Probably they may need an implementation like OpenGL ES, a Vulkan ES made for those platforms.

Software technologies never go away, I can emulate my 1988 Amstrad CPC 6128 with its breathtaking 4mhz cpu and mind blowing 128kb of memory with ease , using emulators. Even more surprisingly people still actively make software for those platforms, software even better than it was back on those days. But of course the crowd is far smaller.

People may not know this but Khronos Group has made not only Vulkan and OpenGL but a wealth of other technologies , essentially they design high level coding libraries that GPU manufacturers choose whether to support or not , because they are the ones that make drivers and those libraries. Khronos essentially decided how those libraries will look like and function.

So they define standards, other then the two popular ones mentioned in this thread they also created , OpenCL , WebGL, OpenVG (hardware accelerated vector graphics), OpenVX (computer vision/image detection) , OpenXR (VR/AR) ,NNEF (AI stuff), glTF (that interest us because it deals with quick 3d asset loading) . Problem is the majority of those are not even completely ported by hardware manufacturers and the ones that do have lousy support. Other’s are completely abandoned by Khronos, like COLLADA.

Such an example was WebGL , I actually used to talk to one of the main developers from where I learned first hand how lousy support GPU manufacturers had for OpenGL via their drivers and how messy WebGL was. WebGL was the hot potato when HTML5 landed , probably one of the biggest things if not the biggest, problem was that it had huge issues with performance and never delivered what it promised. Everyone used it in the start now its rarely used other than previewing 3d modules or doing something fancy. WebGL’s failure to gain traction is as big as losing iOS, because the web remains by far the most popular platform for users. It was a huge deal for OpenGL to successfully establish itself on the platform but it never happened.

So OpenGL has a long , painful history of problems mainly because it could not keep up with the rapid progress of GPUs and performance issues. Nowdays we pretend that OpenGL was intended to be a high level library and try to convince ourselves that Vulkan is not a replacement for it. The irony is that we are correct , it is not , even if it was inteded to. Mainly because even Vulkan is too small for the complexity of modern GPUs. Which is why Blender even if it ports to Vulkan will have to keep relying on CUDA and OpenCL.

OpenGL will end up most likely like WebGL, nowhere near as popular but still useful for some.

Vulkan by the way is not the only big fish, there are countless libraries that GPU manufacturers provide. OpenCL and CUDA for example are such libraries as are many more that specialize to the biggest hot topic for the next decade , VR/AR and AI. These are not areas that only GPU manufacturers are interested , CPU manufacturers are hot on their trail too with the never ending war between CPUs vs GPUs. new libraries pop up like mushrooms.

The problem with open standard is implementations, GPU/CPU manufacturers are interested supporting their own platforms and less so offering compatibility. It’s not just the OS that is the problem but the hardware itself. The same way we have the divide between Vulkan and Metal we have the divide CUDA and OpenCL.

So the future is fussy but one is for sure, the day of one ring to rule them all is long past and in the future Blender won’t have to deal only with the Vulkan and Metal, OpenCL and CUDA but a wealth of new standards and libraries specializing in specific tasks.

The good news is that Blender is growing , it has many more developers than it ever had and has shown that is more than able to at least implement those technologies. Sometimes it lag behind like with the viewport , sometimes is far ahead like with Cycles.

On the matter of OpenGL on Windows, it’s rarely used for the same reasons it’s rarely used on Mac, performance. Android remains its last stand.

The summary: The issue is far more complex than Apple supporting OpenGL on MacOS and iOS.

(cekuhnen) #178

they actually support metal and are very successful.