Upcoming Metal 2+ API in macOS Catalina and its implications within Blender

https://developer.apple.com/metal/

Everything listed on that page in short succinct paragraphs would be a boon for Blender on Mac.

https://developer.apple.com/videos/play/wwdc2019/103/
Forward to 1:49:49 for a demo of realtime raytracing with Metal on the Mac Pro.

Also https://developer.apple.com/videos/play/wwdc2019/611/ for walkthrough on moving OpenGL apps to Metal.

Neat, who’s gonna code it?

2 Likes

Probably nobody at Blender Institute. They are not interested:

I wonder if it would be possible to rewrite Blender or even Cycles in Metal and publish it in the AppStore without the need to publish the source code. Probably it would make sense for someone to earn some money from such a project.

Another interesting Metal video:

E.g. BVH build on GPU(s) in Metal, Noise Reduction build in Metal

Metal is a graphics API, not a programming language.

You could rewrite the drawing code in Metal, but since it would integrate deeply with the rest of Blender, it would have to be under the GPL or at least be under a compatible license.

Then there’s the near impossibility of rewriting all of Blender from scratch without a large team and years of effort. You’re better off making an entirely new 3D app.

The metal API is exlusive for mac, and the MAC userbase using blender is tiny, even compared with the Linux userbase. It’s just not worth the effort, considering the changes required to the code.

Even if you have the money to pay two or three developers to tackle the problem, it will take time. In the past there were plans to make a kind of wrapper to encapsulate drawing calls to any desired backend (at that time i believe it was directx and opengl), but never passed that stage, and even a GSOC student (Jason Wilkins) tried to do something on that line, and failed (too complex and too little time). Consider two or three years of development time to do something like this and even more time to debug and convert the viewport/EEVEE to a system like this.

OpenGL is getting old, and the more realistic (and faster) path is to convert the code to vulkan (so Windows and Linux users can benefit of the effort) and trying to use moltenVK (which AFAIK is what most game studios doing the API conversion are doing anyways) to handle the conversion to metal. It will be a little slow on the macs bot not THAT slower. That sounds more realistic to me at least.

But i think, considering all the work required, and all the work in queue on the plate of developers, one shouldn’t hold their breath on this. Maybe the 2.9x or 3.x series.

1 Like

There are many more Mac Blender users than Linux Blender users:


but it doesn’t really matter. That would be a topic for a religious-philosophical discussion. I personally use Blender because it’s great and not because it’s Open Source.
Anyway, you are right - unfortunately, it seems there is no way we’re gonna get a native Blender Mac version. Catalina still supports legacy OpenGL and there will be RadeonPro, Octane, Redshift Metal renderers so Blender is still usable on a Mac at least one more year.

Is Vulkan supported on the Mac? It would be the better choice since its cross platform and support all the hardware ray tracing features.

There is no native Vulkan for macOS. There’s MoltenVK that translate Vulkan API to Metal.
I doubt there are any plans to make Vulkan version of Cycles (despite CUDA is not Open Source :slight_smile: ). Much more important for BF would be Vulkan UI or Vulkan Eevee and it’s gonna take a looong time.
Blender Foundation decided to refuse Apple support/cooperation so Cycles for Mac slowly dying - High Sierra and shitty old Nvidia drivers can’t be used forever.
Thankfully there will be choice between Metal renderers: Radeon Pro Render, Octane X, Redshift … or maybe there’s a braveheart who would create commercial Cycles Metal version to make a lot of money :slight_smile: .

This is the first time I’ve heard of the foundation refusing help from apple. What I heard was the exact opposite. Apple took away the blender foundation’s Mac pro development loan (Its mentioned at the bottom of this mailing list message), so the foundation now has to pay in order to sign binaries.

Where exactly did you hear about the foundation refusing apple’s help in developing this? I don’t think apple offered any help.

2 Likes

Why Apple took back loaned Mac Pro from BF? Because they collect their retro systems all over the world? Because Apple is malignant? Apple did this because of a lack of interest in supporting Apple’s solutions by the Blender Foundation. The old tower Mac Pro is about $500 and the cost of Apple Dev program is $100 per year so crying about the costs is pathetic.
Why ‘3D big names’ had access to the new Mac Pro even before it was announced and BF did not, despite the fact that Blender is undoubtedly one of most important 3D tools?
Probably this is a good BF decision to concentrate on Windows/Linux and Open Source. Just make Blender Mac situation clear.

I think at this point it is clear to say that Apple gave up on 3D and focuses rather on film media work. Their last Macpro is a clear sign to who they see as pro users only now.

Plus there is no cuda while I think both Apple and NVIDIA are at fault here - while to be honest Apple is acting silly here by through their OpenGL announcement simply kicking everybody that uses OpenGL away from macOS sooner or later when they cannot adapt.

At least they could have supported Vulcan. Metal has many advantages for Mac and iOS OpenGL does not have and having their own high performance engine makes sense.

Major render engine as well as game engines switched to metal already. But not everybody has the funds to do so.

Simply face palm apple …

I found this also interesting today

1 Like

It doesn’t make any sense to assume this. You are making the claim that the blender foundation was offered development help by apple, but the foundation turned them away because they don’t like metal. This isn’t the case. Even with the surge of new funding the blender foundation has gotten recently, It still has a very limited pool of resources to work with. So far, every time an outside company has offered to improve some aspect of blender, the foundation has accepted the help. Where did you get the idea that apple offered to help migrate any part of blender to metal, but was turned down by the foundation?

If you are talking about the response brecht gave in that thread you linked to, then you should know he wasn’t saying the foundation was refusing help from apple. He was saying that directly porting cycles to metal wasn’t on the roadmap.

It is not reasonable to expect the foundation to sink that much time and resources into migrating eevee or cycles over to metal when that will only improve blender’s performance on one platform. They have said previously that they will put that same development time towards porting to vulkan. That way every platform will benefit because moltenVK is still an option for mac users.

If you want a cycles port to metal, then it would be more constructive to talk to someone from apple and convince them that there is a large group of users who are interested in seeing that happen. If apple ever offered to develop this, I’m sure the blender foundation would accept the code.

1 Like

I personally still think taking the time and effort too abstract is a better idea. For one it gives the BF more options in the future and two it puts the onus of creating backends on the community all we need from the BF are the hooks. Vulkan may be great (I’m still not convinced on that one), but for now adoption in professional software is pretty low overall right now.