Hardware Convolution

Hi,

I would like to convolve my FB. What is the most optimized technique to do it ?

Thx.

:stuck_out_tongue:

Originally posted by MiDeM:
[b]Hi,

I would like to convolve my FB. What is the most optimized technique to do it ?

Thx.

:stuck_out_tongue: [/b]
You can use the imaging extension but this is limited. For this extension you need only a glCopyPixels call. You could render to a texture and implement a fragment shader to do the convolution. Than you draw a fullscreen quad.

What kind of filter kernel do you have in mind?

An seperable kernel, like the gauss kernel, would be faster than a kernel that cannot be seperated. With the seperated kernel you can do two full screen rendering passes, and use a fragment program for each 1D kernel.

If the kernel is non seperable you might get some problems with som older SM 2.0 cards relavtively low instruction capabilities (96 instructions).