Saturday, 18 October 2008

Today's graphics breakthrough!


One of the bits of software that I play around with as a background task is Apple's truly astonishing 'Quartz Composer'. Dismissed as a toy by many people, it repays careful study many times over.

My main area of research using Quartz Composer is music visualisation: turning audio into moving pictures. This can be considered as two separate problems:

  • analysing the music to get useful parameters representing meaningful aspects of the music

  • converting the extracted parameters into moving graphics that look impressive and that convey the character of the music to the viewer



Neither of these is easy, and just to make it that teensy bit harder for myself, I'm determined to do them in real time. I've been busy doing this for a couple of years now, and progress has been slow and jerky, but it has been progress. But one thing has always been a major problem: making the graphics look like they are 'organic' rather than computer-generated. Up until today, I had made some progress towards this goal, but the results were simple and lacked the complexity of things in the real world.






Just as with 3D, the problem is one of trying to represent the detail and diversity of the real world, but with very limited resources. Today I had an idea, and I've spent rather more time than I should have getting it working. The results are some of my most pleasing visualisations so far. Showing them is tricky, because they are generated at 1680 x 1050 pixels at 60 frames per second, and so capturing them is not easy, and produces very large files. I'm working on way to do the capture properly too...






So when you look at these screenshots, remember that they are stills from a moving animated graphics display, running in real time.


( The other thing to remember is that you can't use tables inside this blog application because it leaves large amounts of white space, and so formatting multiple pictures isn't easy. So I'll apologise now for the poor layout, which is mostly beyond my control. )

No comments: