Chapter 5. Geometry Shaders
Up until now, we've learnt the basic configuration of the pipeline and how to produce a render using a soup of triangles and textures. In this chapter, we will add a new shader type to our knowledge set. It will serve to improve our scenes, giving them more flexibility by letting us interact more deeply with the pipeline, but without having to increase the CPU side code or the bandwidth between the CPU and the GPU.
In this chapter, we will learn how these new shaders work and cover a few examples of techniques where geometry shaders could give us great flexibility. We will cover the following topics:
How to replicate geometry on the fly, for example, to make twin models
How to make a particle or crowd system with complex-shaped particles parting from bare points