I have been quietly working on moving the image processing for Birch Note onto the iPhone GPU. The benefit of this is faster performance, and color! Currently, because of performance considerations I have to convert the image to greyscale before doing the flattening. Color would require triple the processing and triple the time on a CPU. Which I felt was simply too long. While GPUs don’t give you this for free, they are designed to process 4 channels (RGBA) simultaneously, so they are quite efficient at it.
This has required me to develop some capabilities on my own that I could not find elsewhere for a price I could afford. Namely, I need a good mixed-radix fast Fourier transform that runs on the iPhone 5 GPU for some of the filtering I do. I have completed this and decided to do something a little crazy. I’ve posted the source code to github. If you’d like to check it out go here . It is built on top of a rudimentary image processing monad and it is written in C++. It’s a bit verbose, but it has proved useful in handling the OpenGL plumbing of a complicated rendering pipeline automatically.
This is early stage code so you might find it difficult to use or understand. Please contact me if you want to use it. Your questions will help me determine what is most valuable to write up as documentation.