Yeah, but how many AAA games use it exclusively? Every AAA game I know of is either using Vulkan, OpenGL, or DirectX directly, or they're using a game engine like Unity or Unreal and abstracting away the graphics API.
You forgot the Playstation (LibGNM/LibGNMX) and Nintendo ones (depending on the generation, microcoded GPU, GX (Wii), GX2 (WiiU), NVN (the main one on the Switch), Vulkan and GL 4.6).
No, it's not. What a silly thing to say.
Is the developer writing Metal code? No. Then they're not using it directly. They're using an abstraction.
"using it directly" means the developer is writing Metal code themselves. Writing Unity code that eventually gets compiled to Metal is not writing Metal any more than writing C that gets compiled into machine code means you're writing machine code.
Think of it this way...if someone wants to hire an experienced Metal developer for a Mac-exclusive game, do you think someone who's only developed using a game engine like Unity would be qualified?
> You forgot the Playstation (LibGNM/LibGNMX) and Nintendo ones (depending on the generation, microcoded GPU, GX (Wii), GX2 (WiiU), NVN (the main one on the Switch), Vulkan and GL 4.6).
Irrelevant to the conversation. We can talk about developing with proprietary APIs and continue to just use Apple's Metal as an example without bringing up all the other proprietary APIs. Not sure why you think I "forgot" all the other APIs.
If networking protocols were managed the same way as ARB and then Khronos do their work, we would only have the RFC for the IP layer, and then lots of extensions to choose from for the upper layers and traffic monitoring from each networking card vendor.
Do you happen to know a fruity HW company that today runs it's own proprietary graphics API when the open Vulkan or OpenGL exist? /s
All jokes aside, back then it made sense why every 3D HW company was baking their own API. It wasn't just for gatekeeping/rent seeking, but the consumer 3D graphics acceleration business was brand new, there was no standardization, so nobody knew where the future was heading, so they wanted to have full control over it as they built it. Plus, they were shipping hardware before Microsoft had come up with DirectX so they needed some API until then, and I assume they were afraid to touch OpenGL, the API of their biggest competitor.