The evolution of OpenGL basically goes like this: Immediate mode -> Modern OpenGL (3.0+) -> Direct State Access -> Vulkan.
Direct State Access provides a nice balance between verbosity and control. In particular, getting rid of the “state-machine” construct makes programming feel much more similar to C++.
Early OpenGL does not provide enough control to the user, but Vulkan can make getting started with graphics very intimidating and prototyping / experimenting with the GPU challenging.
The research I did resulted in applications that explore many of the ways in which DSA leads to a more elegant programming experience.
The featured images show just a few examples of applications made easier with DSA. These include tessellation, an example of the Phong Illumincation Model and a basic raytracer.
There remains more that could be covered.