Hi, I am trying to figure out the fastest way to blur an image in
OpenGL, using either the fixed or programmable pipeline functionality.
So far, the methods I found are:
- a classic convolution - gets very slow for big kernels
- convolution with separable filters - much faster
- mipmapping the image (for example, mipmapping a 800x600 image gives
400x300, 200x150 and 100x75 images), then exploding mipmap levels to
the original resolution (800x600) using linear/bilinear/trilinear
filtering.
- any other?
Basically, I would like to hear about your experiences when
implementing blur, and which approach in your opinion would give the
best results in terms of short computation time (primary criterion)
and good quality of blur (secondary criterion).


|