4 ms·
Metal is irritating because of its exclusivity. Nobody wants to make games just for macOS. The supposed ease and speed of writing Metal is completely lost since
by babypuncher 5y ago
Metal is irritating because of its exclusivity. Nobody wants to make games just for macOS. The supposed ease and speed of writing Metal is completely lost since you still have to write a Vulkan or OpenGL renderer. It's just more busywork for anyone not exclusively targeting Apple platforms.
- tombert 5y agoThat's a fair criticism, though is there any technical reason someone couldn't write a Metal->OpenGL or Metal->Vulkan or Metal->Direct3d wrapper?
- babypuncher 5y agoSure, there are already open source projects that do Vulkan -> Metal like MoltenVK. But any time you are emulating one complex low level API with another, there are likely performance penalties. Not to mention you are raising the complexity of the software stack and adding more surface area for bugs. It would be better if there was an open source low level graphics API that every OS could support in addition to their own proprietary APIs focused on ease of use.
- noahtallen 5y ago> It would be better if there was an open source low level graphics API that every OS could support in addition to their own proprietary APIs focused on ease of use. Funny enough, that would be Vulkan, right?
- babypuncher 5y agoYep
- hvis 5y agoI guess someone could, but it ends up being more practical to use a translation layer (which inevitably ends up having at least some overhead) on a niche platform, while being able to wring every last possible bit of performance using Vulkan on the other platforms. Hence MoltenVK and not VulkMetal. Or maybe it's just about the momentum, which Metal doesn't have. Note that WebGPU has been heavily inspired by Metal (AFAIK), and it uses translation layers on top of a number of APIs (whatever is available on the system). And it's not limited to browsers, despite what its name might suggest. So it seems like your best bet to try something Metal-like that works across platforms.