Summary
In this chapter, you learned about some of the methods to move data from your application to the graphics card so that shaders can use it and draw the triangles on the screen. While the data inside the vertex buffers changes for every vertex, uniform buffers and push constants enable you to upload tiny amounts of constant data to the shaders. This enables you to offload the transformation work (such as scaling, translating, or perspective changes) to the shader units on your graphics card. By using GLM for the vertex data, you avoid expensive transformations during the process of copying the vertex data to the GPU.
In Chapter 5, we will add some fancy UI elements to the rendering window. This will allow us to have critical data at hand, such as the frame rate or various timings inside the application. By using buttons, we are also able to switch options on and off using the mouse. For many operations, using a mouse is more convenient compared to remembering all the keys...