Basic anatomy of a Vulkan application
Vulkan was released in 2016 as a successor to OpenGL. The goal was to develop a modern, scalable, low-overhead, cross-platform, 3D graphics API capable of matching the growing number of processors in computers and polygons in games and graphics applications. At the same time, the development of new features for OpenGL had slowed down. The latest version, 4.6, was released in 2017, and it will be still maintained for many more years, but we should look at the changes Vulkan brings to the 3D rendering process.
This is a picture of the – more or less – most important required objects to draw colorful triangles on the screen. Additionally, approximately 30 Vulkan C-style struct definitions must be constructed to create these objects:
Figure 3.1: Main Vulkan objects and their dependencies
We will take a closer look at these objects and their functions in the rendering process:
- OS Window: This is...