MoI discussion forum
MoI discussion forum

Full Version: OpenGL is deprecated in 10.14 Mojave

From: YANNADA
5 Jun 2018   [#1]
I know the writing has been on the wall for some time but we now have a typical Apple ultimatum to developers, Move to Metal OR abandon the ship altogether.

Michael what are your thoughts, the question is how Apple's decision will effect the future of MoI on MacOs platform?


https://developer.apple.com/macos/whats-new/



Image Attachments:
OpenGL is deprecated in 10.14 Mojave.jpg 


From: Metin Seven (METINSEVEN)
5 Jun 2018   [#2]
I also read about it, and it seems like a worrying development for MacOS users who work in the field of 3D.

My main 3D editors are MoI, Blender 3D and ZBrush. They would all have to completely rewrite parts to specifically work with Apple Metal. Ton Roosendaal, the main man behind Blender has already stated that this won't happen for Blender, because it has to retain its cross-platform compatibility. They will keep supporting OpenCL and OpenGL in Blender for Mac, but that will become a dying horse. That sucks.
From: Michael Gibson
5 Jun 2018   [#3] In reply to [#1]
Hi yannada,

> Michael what are your thoughts, the question is how Apple's decision will
> effect the future of MoI on MacOs platform?

Well I have to say that I am definitely not a fan of the constant churn that happens on macOS, it makes for additional work and I'd really rather spend time working on new things in MoI rather than catching up to platform changes. Things do work better for me when the platform is stable.

But there are a couple of reasons why this is probably not a big problem for MoI.

One is that MoI does not require advanced OpenGL functions, it's not like I've been blocked by anything while waiting for them to update to a new OpenGL release level. It seems likely that they will freeze it at the current level and not just outright remove it, we'll see.

The other is that MoI v4 is well positioned to switch to Metal if necessary because part of the MoI v4 rewrite was to use a graphics library called BGFX which supports multiple rendering back ends. So MoI v4 does not make OpenGL calls itself directly, it makes calls into BGFX and then BGFX handles the OpenGL stuff. On Windows MoI calls into BGFX and BGFX uses Direct3D11 functions. So MoI's own viewport drawing code is well separated now from any specific graphics API.

BGFX also has a Metal rendering back end as well. I haven't tried using it yet because it was officially at WIP level when I started using BGFX and also Metal is only available starting on macOS 10.11 while I wanted to support older OS versions than that for v4. I might wait to try it until I'm comfortable requiring 10.11 as the minimum supported platform which is simplest but there is some possibility I could figure out supporting Metal only on 10.11+ while still supporting OpenGL on older platforms. I haven't dug into that yet. But anyway there is a pretty straightforward path to getting MoI to use Metal.

This could be a pretty big problem though for applications that were relying heavily on OpenGL to itself be their cross platform drawing layer and also wanting to use newer things in it.

I am myself far more worried if they give up on Intel CPUs and try to switch to ARM only.

- Michael
From: mkdm
5 Jun 2018   [#4] In reply to [#2]
Hello everyone!

...hhhmmmm....This news seems to follow exactly the usual "habit" of Apple.

And usually I react to news like this, with words like "Damn Apple...f...ck....@#!! sh..it" and so on :)

BUT...THIS TIME, AND FOR THIS PARTICULAR ASPECT, HONESTLY I TOTALLY AGREE WITH APPLE.

I'm software developer for decades, and for many years I have a very personal point of view about modern "consumer" computer science.

And it's something similar to what, some days ago, Tim Cook said at WWDC 2018 (not literally) : Now it's the time of the software rather than hardware.

What I want to say is : What's the point in having tons and tons of super powerful hardware, like all modern PC/Tablet/Smartphone, if with these things we still can't do what this hardware could do?

Let me describe the situation with a couple of simple, negative, examples and with only one positive example...

The negative ones.

A) I have a very good PC. OK, not a true workstation, but anyway a very good desktop PC.
Equipped with a fairly good i7-7700k 4.5 Ghx, 32GB of very fast DDR4 3000Mhz Ram, and (only in theory) a super monster GPU card : the Gtx 1080 Ti with a "firepower" of 11.3 TFlops in FP32!!!!

Well...I have no words to see how BAD, fucking BAD, are the Nvidia drivers that manage that super hardware.
And, I have no words again too see how, almost ALL the software I use every day, with a very few and rare exceptions (Moi for example), are "done slapdash"!!!

B) One of the worst implementation of the entire software history, is without doubt, the very terrible OpenGL and OpenCL implementation that many, so many, computer graphic software, have!!!! Terrible to see how tons of (also very famous) software, rely on very poor implementation of that libraries.


WHY I HAVE BOUGHT A GTX 1080 TI OR WHY SOMEONE COULD SPEND 6000 USD FOR A QUADRO P6000 IF THEIR UNDERLYING GFX ROUTINES ARE SO WEAK AND "OUTDATED" ?

I repeat, OpenGL implementations, for decades, is one the worst piece of software of the entire computer science history!

Now the the positive example :

About one year ago I purchased for the very first time an Apple device, the iPad Pro 12.9 second generation, with the Apple Pencil.

BEFORE CONTINUING, I HAVE TO SAY THAT I DON'T LOVE APPLE MACHINES OR APPLE SOFTWARE/OS AND I'M NOT AN APPLE FUN.

But I decided to buy an iPad Pro because it has an incredible power when it comes to create digital paintings/drawings.
Actually is still the very best device for that kind of work. And in fact I use my iPad Pro 99% of the time only for digital painting.

WELL...AS IT SO HAPPENS, ACTUALLY THE VERY BEST AND "STATE OF THE ART" APPS FOR DIGITAL PAINTING, FIRST AND FOREMOST "PROCREATE" FOLLOWED BY "ARTSTUDIO PRO", WERE TOTALLY REWRITTEN FROM OPENGL TO METAL!!!
And, believe me, those Apps, above all Procreate, really FLY!!!!!
It's incredible to see what the software developers of these two Apps were able to obtain from the METAL api!!!!
If you have, just once, used one of that Apps you should know what I'm talking about.
And with a device that has only 4GB of Ram (3.88 free to be precise)

So...Apple want to force all the Apps to move from the "weak" and "old" OpenGL to METAL ?
I totally agree.

Software, rather than (wasted) hardware.

My very personal opinion.

Ciao!

Marco (mkdm)
From: YANNADA
6 Jun 2018   [#5] In reply to [#3]
Wow thats great news. Michael it seems once again you have made the right move :)
Driven by the Apple announcements I suspect bgfx ought to get a few page hits.

>I am myself far more worried if they give up on Intel CPUs and try to switch to ARM only

Oh I Remember when Apple's transition from the PowerPC architecture to Intel processors, Wasn't That Fun?

Image Attachments:
bgfx.jpg 


From: Metin Seven (METINSEVEN)
6 Jun 2018   [#6]
Hi,

Marco, good points! I'm a Mac user, and OpenGL and OpenCL support for MacOS has been relatively crappy for years now.

Michael, I'm pleased to read that BGFX also supports Metal. I have to say that my non-developer impression of Metal is quite positive, especially the new version 2. My experience with Metal comes from the free AMD Radeon ProRender renderer which is compatible with multiple 3D editors, including Blender, Maya and Cinema 4D. Since they recently decided to switch to Metal 2 for MacOS, it renders blazingly fast on my AMD GPU.

More about Radeon ProRender can be found here:
https://pro.radeon.com/en/software/prorender/
From: Frenchy Pilou (PILOU)
6 Jun 2018   [#7]
It's not my play field but seems MoltenVK permit to use Metal on other OS !
(Open source and free! ;)

https://github.com/KhronosGroup/MoltenVK
From: Michael Gibson
6 Jun 2018   [#8] In reply to [#5]
Hi yannada,

> Wow thats great news. Michael it seems once again you have made the right move :)

Yup, it has definitely turned out to be the right choice. I wasn't sure at first because it's very much focused on games. But with some relatively minor changes it's been great.

I already knew I needed to be able to target different system APIs because OpenGL is not a good choice for Windows due to poor quality drivers being very common.


> Driven by the Apple announcements I suspect bgfx ought to get a few page hits.

Yup, probably. It has already been gaining a lot of momentum in the indie game dev community.

- Michael
From: Michael Gibson
6 Jun 2018   [#9] In reply to [#7]
Hi Pilou,

> It's not my play field but seems MoltenVK permit to use Metal on other OS !
> (Open source and free! ;)
>
> https://github.com/KhronosGroup/MoltenVK

Actually no that's not for running Metal on another OS, it's for using another API called Vulkan on Mac.

Vulkan is a new API that is in some ways a kind of successor to OpenGL in that it's meant to be cross platform. It's very new though and drivers don't seem to have reached maturity yet. Another big hole was no Vulkan implementation on Mac/iPhone but that's what MoltenVK is meant to fill in.

It might be a good choice like 10 years from now but it's difficult to reach the same level of driver quality on Windows as Direct3D has.

- Michael
From: Frenchy Pilou (PILOU)
7 Jun 2018   [#10] In reply to [#9]
Thanks for the precisions!