Has anyone an idea how to diffuse convolution filter a cube map with hardware in (near) real time. It does not need be 100% accurate, a good approximation is enough.
I have tried these two ways, but there are both more or less too slow:
Take stochastical samples from the cube map in fragment shader. It works, but over a million samples is needed to get tolerable results.
Render the a cube from a point of view of each texel to a floating point buffer using near 180 deg fov and read the result back using glReadPixels. Them sum these pixels to get the filtered color of that texel. If the result cube map is 63232 texels and the used buffer is 128*128 then 100 million pixels are read back, which is too much (plus the the time it takes to sum them with a simple loop).
Any better ways?