Chapter 5. Image Processing and Screen Space Techniques
In this chapter, we will cover:
- Applying an edge detection filter
- Applying a Gaussian blur filter
- Implementing HDR shading with tone mapping
- Creating a bloom effect
- Using gamma correction to improve image quality
- Using multisample anti-aliasing
- Using deferred shading
- Implementing order-independent transparency
Introduction
In this chapter, we will focus on techniques that work directly with the pixels in a framebuffer. These techniques typically involve multiple passes. An initial pass produces the pixel data and subsequent passes apply effects or further process those pixels. To implement this we make use of the ability provided in OpenGL for rendering directly to a texture or set of textures (refer to the Rendering to a texture recipe in Chapter 4, Using Textures).
The ability to render to a texture, combined with the power of the fragment shader, opens up a huge range of possibilities. We can implement image processing techniques...