Summary
In this chapter, we started off by diving into how a renderer works at a low level in order to glean a deep understanding of what's possible with graphics programming. After looking at the details, pros and cons of the forward and deferred rendering method, we created a scene that took advantage of the deferred rendering method by rendering several real-time lights without an additional rendering pass per light.
After covering the technical breakdowns, we took a brief look at several techniques you can use to give the graphics in your game a more unique, polished appearance. We started with color grading, an image effect that colors all rendered pixels uniformly based on a modified color matrix.
Finally, we looked at the broadest area of graphics programming: shaders. Unlike screen-space effects, shaders are assigned to specific meshes in a scene and can render them based on a combination of internal geometric data and parameters like textures. We created a basic shader that handles...