Willy Nolan


Project Title Description

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.