Does UE4 use real input FFT? Is this why FFT spectral texture size is (N/2 + 1) * 2?


I have questions about UE4’s FFT details.

I have noticed that UE4’s Bloom post-process is using FFT.

I saw two-for-one trick which transforms ‘r & b’ channels into one complex signal ‘r + i * g’.

So I thought This FFT module’s input would be a complex number.

But the output of the FFT is the size of (N/2 + 1) * 2.

I am not sure how UE4’s FFT module works.

Could anyone help me with this?

I am trying to implement a post-processing shader that ought to calculate in the spectral domain and

make a summation of multiple results of calculation and then IFFT.

To do that I could be able to make FFT which could get an input of a complex number.

Thank you.

I misunderstood. UE4 does FFT and using the result to make 2 separate real DTF output internally.