So I try to read this code. And judging from
Texture2D<float2> FftIn;
RWTexture2D<float2> FftOut;
It could be complex-to-complex fft, yet as I am new to this I wonder for help.
It works like this (right is the source, lower one is backward on the forward):
So I wonder - is it 2d complex-to-complex or just 2d real-to-real on different channels?
The code you are using is a 2D complex-to-complex FFT implementation which takes the red channel as the real part and the green channel as the imaginary part.
To process your input color image on the right you should first separate it in 3 color components and compute the FFT on each component individually. For the inverse transform you would similarly compute the backward FFT on each component individually, then recombine them to form a color image.