There can still be and there already is plenty of middle grounds between OpenGL and Vulkan. Like Skia, OpenGL etc... They can just be implemented on top of Vulkan. Vulkan is just an API provided by GPU vendors like Nvidia, AMD etc.. to expose the capabilities of their hardware and not worry about accommodating all the edge cases of various graphics use cases in their bloated mess of "drivers".

Here's my fav. rant about it, tldr; GPU Vendors needed a lean API to expose the capabilities of their hardware, and OpenGL: https://www.gamedev.net/forums/topic/666419-what-are-your-op...

If you’re making a 3d game with a customed designed renderer, then what should I use instead of Vulkan though? (The real answer for this is DX11, but assume I care a bit for cross-platform and relatively less vendor lock-in.) Skia is only for 2D graphics, OpenGL has shit drivers on Windows, and WebGPU is still work-in-progress and isn’t something you should depend on just yet. Between DX and Vulkan, there isn’t really that much choice.

You can still use OpenGL. Just not the vendor provided drivers. They are indeed horrible. There are libraries like:

* ANGLE ( https://github.com/google/angle ) - An OpenGL ES implementation with Direct3D 9, Direct3D 11, Desktop GL, GL ES, Vulkan and Metal backends. This is what we used to use for shipping our Qt 3D application, that used a bunch of OpenGL Shaders. We used to get bug reports about various shaders not working properly on various hardware. After switching to this, all those bug reports vanished.

* Zinc ( https://www.supergoodcode.com/do-not/ ) - A more recent, OpenGL implementation on top of Vulkan. I haven't used this one yet. But they are making a lot of progress and it is almost as performant as vendor provided OpenGL Drivers these days. So if I ever have to ship a desktop app, needing opengl, I'd strongly consider using this.