Because the GPU ecosystem has historically been fractured. Vulkan looks like it has the potential to finally end that, but Apple has a walled garden and doesn't seem to be on board.
But I agree, such things aren't all that relevant to the article being discussed here.
Have they? OpenGL was really the only option on most platforms for years. Even Windows has always supported OpenGL even if driver support from various vendors wasn't always good and official Microsoft support lapsed. Consoles have always used propiertary APIs, and before someone brings up PS3 and PS4 OpenGL implementations they are wrappers over low level APIs, so if they count then MacOS and iOS do support Vulkan via MoltenVK (there is even an official SDK on LunarG). If anything we've seen more fragmentation in the last 5-6 years due to the brief introduction of Mantle, followed by Metal and Vulkan. Some of this was necessary because OpenGL and DirectX development had stagnanted.
> we've seen more fragmentation in the last 5-6 years due to the brief introduction of Mantle
I thought Mantle was what became Vulkan?
> Consoles have always used propiertary APIs
I certainly don't expect console manufacturers to adopt Metal, but at least there's the possibility of (eventual) unification with Vulkan.
> OpenGL ... support from various vendors wasn't always good and official Microsoft support lapsed
And Windows was the main PC gaming platform, so developers used DirectX instead of OpenGL as a result.
On OSX, Metal became a thing; as a result, last time I checked OpenGL was stuck back at version 4.1 (that's > 5 years behind everyone else).
I don't see Android, iOS, or Linux adopting DirectX. I don't see Windows or Android adopting Metal. If you're hoping for unification, Vulkan seems like quite literally the only possibility. Add to that Vulkan support from a variety of hardware vendors other than AMD and Nvidia as well as officially planned Vulkan-OpenCL interop and I'm actually somewhat optimistic about things.
To add to this, I can see Microsoft adopting Vulkan. I don't understand why Apple has taken this approach. Well, I understand why _Apple_ did, but I feel like most companies in their position wouldn't invent a new API.
Bear in mind that there was a great deal of fragmentation within OpenGL as well, due to tons of proprietary OpenGL extensions to support new features of video cards anyway.
Just because we had "OpenGL" and "DirectX" doesn't mean that there was only one thing to consider when doing engine development.
Strongly agree with this. That is a big part of the reason I don't think a unified API on all platforms helps the situation much. Hardware across different vendors and device categories (mobile vs console vs PC) varies wildly. I've never worked on a game that targeted console where "PC directx" and "Xbox directx" weren't different targets and usually AMD and Nvidia had slightly different code paths in some places for extensions or profiling reasons. Add to the fact that just having a portable graphics API doesn't magically make your game portable to all platforms, and that most games are made with portable engines that already run in some from on all major consumer hardware it just seems like there is less of a practical reason for Vulkan every where.
Still, slightly different code paths is better than totally different API, no?
The web doesn’t automatically give you cross browser pages. You have to fix compatibility bugs and sometimes do things two ways. But it’s way easier than having separate WinForms,
Cocoa, and QT UIs.
Because the GPU ecosystem has historically been fractured. Vulkan looks like it has the potential to finally end that, but Apple has a walled garden and doesn't seem to be on board.
But I agree, such things aren't all that relevant to the article being discussed here.