PortableGL: An implementation of OpenGL 3.x-ish in clean C
So reading this:<p>&gt; [Vulkan] really is overkill for learning 3D graphics...using modern OpenGL to introduce all the standard concepts, vertices, triangles, textures, shaders, fragments&#x2F;pixels, the transformation pipeline etc. first is much better than trying to teach them Vulkan and graphics at the same time...<p>...got me wondering. I haven&#x27;t really kept up with modern graphics programming, but my - possibly incorrect - understanding was that not only is Vulkan lower-level than OpenGL, it was also motivated by lots of questionable design decisions that OpenGL was kind of stuck with. So, with the above quote in mind, is it the case that:<p>* Vulkan is good (?) but too low-level for most users.<p>* OpenGL is a good environment to learn or do nuts &amp; bolts 3D programming in - i.e. it&#x27;s the right level of abstraction for that - but is kind of a mess.<p>Is that correct? Is there anything that splits the difference? How&#x27;s Direct3D these days? Metal? Has anyone built a library on top of Vulkan, targeted roughly around the abstraction level of OpenGL, but with a better design?