-
Book Overview & Buying
-
Table Of Contents
Direct3D Rendering Cookbook
In this recipe, we use the separability of the Gaussian blur convolution filter to apply a Gaussian blur in two passes for a vertical and horizontal Gaussian blur.
The Gaussian blur is used in many image processing and 3D graphics operations. The filter can be used to soften edges, apply blurring during depth of field operations, or for use within the Bloom lighting technique.
This recipe begins with the completed horizontal and vertical filter compute shaders and C# code to execute them from the Implementing box blur using separable convolution filters recipe.
By adjusting the kernel values, we can create a Gaussian blur filter. For each of the following kernels, the center weight (weight of current texel) is highlighted:
In order to create a 3-tap Gaussian blur, change the BlurKernel method of the horizontal and vertical compute shaders to:
#define FILTERTAP 3
...SNIP
static const float BlurKernel[FILTERTAP] = {
0.2740686, 0.4518628...
Change the font size
Change margin width
Change background colour