default
04-11-2003, 08:27 AM
Hi,
i'm just been thinking about trying to do realtime convolution using ati's fragment shader and passing the kernal and the normalizing cooef as parameters, simple ones that don't require too many neighboring pixels are ok, (such as humums demo (where he does Laplace or the delphi3d demo using 4 pixels and combiners), but i've been thinking about trying to do one using a 3x3 kernel. I dont know if it is at all possible if NumberOfTextureUnits < sizeofkernel. I thought doing mulitple passes and accumulating the points and in the final pass do the division, but as far as i know it wont work because there is not enough precision in the texture buffer. Is there anysort of workaround or possible trick that may work... Would it work with better graphics (9700?, though it only has 8 texture units ) using arb_FP?
i'm just been thinking about trying to do realtime convolution using ati's fragment shader and passing the kernal and the normalizing cooef as parameters, simple ones that don't require too many neighboring pixels are ok, (such as humums demo (where he does Laplace or the delphi3d demo using 4 pixels and combiners), but i've been thinking about trying to do one using a 3x3 kernel. I dont know if it is at all possible if NumberOfTextureUnits < sizeofkernel. I thought doing mulitple passes and accumulating the points and in the final pass do the division, but as far as i know it wont work because there is not enough precision in the texture buffer. Is there anysort of workaround or possible trick that may work... Would it work with better graphics (9700?, though it only has 8 texture units ) using arb_FP?