If you're a gamedev, your engine should abstract all these away. If you're a gamedev, you should be using a commercial engine unless you have a John Carmack on staff.
OpenGL and Vulkan are the worst of all worlds and really only make sense on Linux or Android, which have nothing else.