Yeah, the real/imaginary parts. The problem is that you do the
transform on each colour channel separately, so for rgb you need 6
channels (12 for the two buffers), which likely means 4 buffers in
practice.
Is this a problem? I'd split the RGB components and feed 3 identical
macro instances with them, each containing buffer and CI filters for
the FFT and the spectral processing and stuff, finally recombine the
components.
Yep, that's the obvious solution. The catch is that it uses 3x the
processing time, and this isn't a cheap filter. I'm aiming to use it
as part of an application, which needs to process live video in
various non-trivial ways.. in fact I'm really dubious about whether
it's possible to integrate it and keep things running fast enough, but
it has to be tried :)
Concerning power-of-2: You can do things like convolution or cross-
correlation always on a power-of-2 basis. You need zero-padding
anyway to perform _noncyclic_ convolution or correlation: Keep in
mind that with DFT, you always get a spectrum of a periodic
extension of your signal. A bit more zero-padding than needed will
not be wrong.
Thanks.. more experimenting needed I think. I've written a mirror-
tiling filter already, so I'll experiment a bit and see what happens
in practice.
Another thing: Shouldn't we care about precision? Which GPU has how
many bits per color, and will it be sufficient for FFT?
Absolutely. The GPU solutions I've come across all use floating point
buffers, and I'm using mostly 32bit mode within my app so it'll fit in
no problem there. Basically, a card that supports 32bit float is
necessary - I guess radeon 1600+ or nvidia 7600+? They'll probably run
it too slowly anyway :)
I've done some work on this: the texture juggling in the CI filter
seems fine, and I've got the butterfly shaders running. I need to
figure out how to create the weights + indices LUT next, and figuring
out how to do that in a shader is giving me some headaches. Maybe a
custom plugin is best for that. Plenty learned too, especially about
the javascript functions in the CI filter patch. I finally figured out
how to create custom sized images from a CI filter with no image
inputs - took long enough! :)
Chris
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com
This email sent to [email protected]