Summary
If it feels like we’ve been skirting a deep examination of this and the other topics we’ve covered so far in this chapter, then either you have a good sense of intuition or you read the title of this chapter. As this chapter’s title suggests, we’re only scratching the surface of a topic not only wide but deep in its complexity. That doesn’t mean that we haven’t covered a lot of material – quite the opposite! We started this chapter by learning a bit about some of the shader concepts and the differences between Vertex, Fragment, and Compute shaders. Each type of shader is a specialized software program that runs on the GPU once for every piece of geometry (vertex) and every pixel (fragment) on the screen.
None of the shader instances has any memory about things that happened in the previous frame and don’t know what any of their neighbors are doing. This makes shader programs a little bit mind-bending to work with initially...