This example shows various methods of implementing convolution filters in OpenGL using Cg. It supports both 1D separable filters (such as Gaussian blur) and 2D filters (such as disc blurs). The code shows how to take advantage of bilinear texture filtering so that only half the usual number of texture samples are required for separable filters. It also demonstrates how to implement steerable filters, where the width of the filter can vary from pixel to pixel.
Jul 28, 2005 | Category: Developers •