Attention: Metal, Big Sur and Apple Silicon

The question is, how expensive it will be. And looking at the actual prices and the general Apple policy, I'm afraid those things will come in at a very high price ...
As expected Hasdrubal the ancient prophet got it right.
Apple now provides MacBooks with graphics capable of decent render performance but charge over 3000,- by forcing 32GB RAM minimum with the M1 Max.
I'm gonna wait for the M2 next year, I guess.
 
For my pro stuff, I'll continue working on iMac Pro and Mac Pro for RAM and thermals, but the new MacBook pros are very capable notebooks and I can totally see now how, in less than a year, they'll have a chip that supports 128GB+ unified RAM. That still won't be up with the most demanding workstation tasks but it'll be beating my current Mac Pro setup with 96RAM+16GB VRAM which is currently the sweet spot for my use cases (actually, I run a little low on VRAM sometimes).

And the CPU itself is pretty nuts. According to the first geek bench that surfaced yesterday, it's almost fast the current 12 core Mac Pro. Yeah, the 16-core Mac Pro is still faster, of course, but that's a desktop workstation and space heater...

Now we just need the native Metal and Apple silicon support :) Also it looks like the "notch" needs a developer opt-in, but that should be very easy to support since Cheetah3D already uses the MacOS native menubar.
 
Couple of interesting things. First, obviously, is the new Macbook Pros are insanely good. imagine what the new iMacs (clearly the 24” is entry-level) and Mac Pros will be like.

Second, Apple has joined the Blender Development Fund, so it’s pretty likely to get Metal support. I still prefer modeling in C3D, so I continue to advocate C3D positioning itself as a complement to Blender rather than an alternative. (My 13year old started on Cheetah 3D a few years ago then switched to Blender and has no time for Cheetah; he’s already a better modeler and animator than I am.)
 
With Apple collaborating with Blender, Otoy and Maxon (Redshift) there is a small chance the M2 will get hardware raytracing support along with the video encoding, machine learning and other modules for special tasks.
Then things will really get interesting (and hopefully a Cheetah ARM version is ready by then (hint!)).
 
Some update from the coding cave.

ARM version: Cheetah3D is running natively on ARM processors since January. So the ARM port is already a problem of the past to me. But since the ARM and the Metal version are in the same build branch I can't release it yet.

Metal: The Metal version is getting closer to feature completion. I already looks pretty nice but lacks some smaller features and maturity. But since I don't receive generous support from Apple (like Blender) I have to do everything by myself and that unluckily takes a lot of time. Porting a 3D animation app from OpenGL to Metal is anything but trivial. That's why the majority of 3D animation apps still rely on OpenGL. It would have definitely helped if Apple wouldn't limit it's support to a tiny group of privileged developers and treat all developers fairly and equally. But I'm probably asking for too much from that company.

Monteray: I haven't tested Cheetah3D extensively of Monetray yet. But it seems to work OK. At Least I didn't stumble over obvious problems.

You can see a screenshot of the Metal/ARM version below.

Bildschirmfoto 2021-09-30 um 17.17.40.jpg
 
Excellent news… both the Metal progress and support of the common PBR texture channels with Metal.

Thank you for your efforts!

One question about the screenshot of the friendly pig showing off the beautiful live HDRI lighting and reflections… Is the pig floating off the surface of the wooden block, so there would not be a shadow, or does the current stage of Metal implementation not provide real-time cast shadows of objects on other objects?

gsb
 
I will support the common PBR texture channels like albedo, metalness, roughness, emissive, bump an ao. That will greatly improve the PBR workflow with other apps.
Isn't that already supported through the "PBR" shader? (I use that all the time :D the first thing I do when I make a new Cheetah3D file, I create a material and change the shader to "PBR" and then copy it whenever I need new PBR materials).

Other than that, great news! I know how hard it is to go from OpenGL to Metal (Or Vulkan). Compared to the new lower-level APIs, OpenGL sometimes feels like some Fisher Price toy. Are there performance improvements with Metal as well?

I'm sorry to hear that you don't get the same support as Blender Foundation. I think it's because Blender is Multiplatform FOSS and widely adopted, so users were switching from Mac to Windows because they can't do GPU rendering.

With Cheetah3D, they won't switch platforms because of that, since Cheetah3D isn't available on Windows. Also, it's for-profit software, so Apple would have to invest instead of donate to Blender Foundation.
 
Nice update Dr. Martin (y) I imagine you originally coded Cheetah3d in Objective-C. Have you migrated any to Swift? I'm learning C and perhaps will learn a little Objective C as time permits.
 
Isn't that already supported through the "PBR" shader?
I certainly could be wrong, but I believe that the current C3D PBR shaders are written specifically as a part of the Cheetah Falcon rendering pipeline, and are not exportable as PBR materials along with a model for use in another program.

With the move from OpenGL to Metal, in addition to the viewport showing the calculated results of the PBR shader (again as I interpret it) the new implementation of the PBR shaders will play better with others by allowing exporting (and importing?) the PBR material along with models.

Please correct me if I have misunderstood.

thanks and cheers,
gsb
 
One question about the screenshot of the friendly pig showing off the beautiful live HDRI lighting and reflections… Is the pig floating off the surface of the wooden block, so there would not be a shadow, or does the current stage of Metal implementation not provide real-time cast shadows of objects on other objects?

I'm sorry but Cheetah3D doesn't support shadows in the Metal 3D preview at the moment. For calculating proper image based lightning you need hardware accelerated raytracing anyways which is not widely available on the Mac.
I still have an eye on those old MacBook Airs so I don't want to over stress the hardware requirements too.
 
I imagine you originally coded Cheetah3d in Objective-C. Have you migrated any to Swift?

No, and I don't have any plans to migrate to Swift. Objective C++ is perfect choice for me.

It would be way too much work too. I simply can't handle such a port in an acceptable timeframe anymore. Cheetah3D is too big.
 
With the move from OpenGL to Metal, in addition to the viewport showing the calculated results of the PBR shader (again as I interpret it) the new implementation of the PBR shaders will play better with others by allowing exporting (and importing?) the PBR material along with models.

PBR shaders definitely makes it easier to exchange materials with file formats like glTF or USDZ which use PBR shaders as their default materials. Once the Metal version is done I want to look into these file formats to get a solid WYSIWYG workflow.
 
I'm sorry but Cheetah3D doesn't support shadows in the Metal 3D preview at the moment. For calculating proper image based lightning you need hardware accelerated raytracing anyways which is not widely available on the Mac.
I still have an eye on those old MacBook Airs so I don't want to over stress the hardware requirements too.
Thanks Martin, understood. No worries. Live materials in the viewport, on the horizon, is a big, wonderful, step.
 
Back
Top