The first hardware-accelerated 3D API I used was the first version of Direct 3D in 1996. It took days to get get single triangle.
Carmack described it well:
https://www.bluesnews.com/archives/carmack122396.html
Direct-3D IM is a horribly broken API. It inflicts great pain and suffering on the programmers using it, without returning any significant advantages. I don't think there is ANY market segment that D3D is apropriate for, OpenGL seems to work just fine for everything from quake to softimage. There is no good technical reason for the existance of D3D.
...
Many things that are a single line of GL code require half a page of D3D code to allocate a structure, set a size, fill something in, call a COM routine, then extract the result.
I was pretty defeated for a while, took me months to get motivated to try it again using OpenGL 1.1, and it just worked. I don't know how faulty my recollection is but I think I remember it was also much easier to search the web for tutorials/discussions about OpenGL than D3D at the time.
It's all justifiable of course, and Vulkan actually isn't too bad if you just want to push your own vertices within an engine where someone else has already written all that scaffolding.