DISCLAIMER: My knowledge of graphics doesn't extend past "hobbyist".

There's an alternate universe where Apple opened up Metal to work across platforms and languages, and that would be the successor to OpenGL. As it is right now, we're in this complete mess like we were in the 90s, where there's this hodgepodge of stuff being written using OpenGL and DirectX and Vulkan.

Maybe if I learned it better I would learn to love Vulkan, but with the little I've played with it, it is absolutely dreadful. Doing even a minimal amount of stuff with it requires hundreds of lines of arcane, hard-to-read code. I spent two days figuring out how to make a cube rotate, and then I was done. OpenGL wasn't exactly "ergonomic", but it was substantially simpler to get something built with it than Vulkan.

Metal, on the other hand, is a genuinely pleasant graphics API. I find it reasonably straightforward to do a lot of stuff, it's reasonably easy to intuit what the code is trying to do, and at least in the things I've played with, it performs just fine as well.

If Apple had pushed for Metal to be the successor to OpenGL, I think the world would be a better place now.

Vulkan is sort of a post-API API. It seems to be designed specifically with high performance render pipelines in mind, and "end users" should interface with it through an intermediary layer.

Ie, you might prefer bgfx[0], cinder[1] or openframeworks[2].

0: https://github.com/bkaradzic/bgfx

1: https://www.libcinder.org/

2: https://openframeworks.cc/