The Rust wgpu project has an alternative C API which is identical (or at least closely matches, I haven't looked in detail at it yet) the official webgpu.h header. For instance all examples in here are written in C:
As someone with diagnosed & medicated ADHD, it genuinely, truly affects my every day life. After medication, I remember thinking “oh, this is how normal people’s brains work”. I’ve been playing most of my life on hard mode. I won’t debate whether it’s over-diagnosed, but it’s 100% a real thing and it’s incredibly discouraging to see people dismiss it.
OpenGL still works on the M1 (Apple designed their own GL-over-Metal driver), albeit with the OpenGL version limitations from modern macOS in general. Vulkan works over MoltenVK.
Other than old games, I'm not sure why 64-bit only is an issue.
I've not hit any Docker-on-macOS issues with what I've used it for, at least.
I've seen plenty of projects that use MoltenVK as a drop-in backend for macOS. It seems complete enough for general use, but I haven't used it directly so I'm not sure what's missing.
Metal is by far a much friendlier API than Vulkan. Its approach with opt-in complexity is arguably the correct one. (Ever tried writing a Vulkan "Hello triangle" from scratch?)
It's also gaining some nice features that are usable out of the gate, rather than waiting on Vulkan extension standardization and adoption. It simply makes the most sense for Apple.
> Metal is by far a much friendlier API than Vulkan
Sure, but that was hardly the point of Vulkan in the first place. The point is to have cross-platform 3D grahipcs, but since Apple never gave a shit about anything cross-platform, they chose to write their own stuff.
And if they actually did care, they could have modeled the same API as they have with Metal, but over Vulkan, so the engine is the same but the API is "much friendlier".
It simply makes the most business sense for Apple, but as is tradition, the whole software ecosystem is worse off because of their choices.
Well you can use Vulkan over Metal with MoltenVK, so that point is a bit moot.
Opinion time: WebGPU will become the standard graphics API to target for cross-platform. gfx-rs/wgpu already works over Vulkan/Metal/D3D12/D3D11/OpenGL/WebGL & WebGPU in browsers. Much better than simply Vulkan, unless performance is your primary sticking point.
How is the point of Apple pushing Metal instead of Vulkan when the change request submitted to Blender is not using the MoltenVK stuff you're talking about? If anything it proves my point
You're still at the mercy of Apple giving you a valid (and revokable) app development certificate. Apps installed with a development certificate expire after a certain number of days. There's also a limit to the number of devices you can use with a development certificate.
There are enterprise distribution certificates that don't have these restrictions, but using them to distribute apps outside of the company will end up getting it revoked. (Like what happened with Facebook)
> As for the distribution, you can distribute your App open-source and let your users compile and install it themselves.
Because non-technical users will surely do that.
> The reality is this: You cannot mass distribute proprietary App's that Apple has not approved.
I feel this is the only point relevant to this post.
Yes, you can invite your developer friends to try out the app you wrote yourself. But if you actually want to make money from it, you need Apple's approval.
There's an entire ecosystem that surrounds sideloading apps that are not in the app store. They're not all developers or technically inclined people, it's a very easy thing to do and can be done on any OS. Developers can distribute an IPA that isn't valid for your device, and you use an extremely simple GUI tool (Cydia Impactor) to resign, repackage, and install all in a few steps. You don't need to be a technical user to do this. You just sign in with your Apple ID in the app (or any Apple ID, it just needs to be in the program as a free or paid account).