I currently have a naive kernal convolution that cannot be seperable causing high load on the system at large kernal sizes. I have started looking into Fast Fourier Transform, and as far as I can tell the result of a kernal convolution is the same as the multiplication of the FFT of both the image and the kernal. Could someone please help me to learn how to implement a 2D FFT.
This is for a project for simulating lens blur.