1 This is the simplest but also a very inefficient way to implement a Gaussian filter. The Gaussian filter, like many other simple filter kernels, falls into the group of separable filters. That is, they are 2D filter kernels that can be rewritten as the product of two 1D filters. This trick turns the convolution problem from an O(n2) into an O(2n) problem, which in almost all cases results in a faster implementation. For more information on convolution and separable filters, see Chapter 21 of this book, “Real-Time Glow.”