Summary
In this chapter, we tried out several advanced techniques and learned how we could use them to create more visually complex and compelling scenes. We learned how to apply post-process effects by rendering a framebuffer, created particle effects through the use of point sprites, created the illusion of complex geometry through the use of normal maps, and rendered a raycast scene using nothing but a fragment shader.
These effects are only a tiny preview of the vast variety of effects possible with WebGL. Given the power and flexibility of shaders, the possibilities are endless!