More selected projects

All Work...

A tongue-in-cheek visualisation of the experience of a mature student returning to academia after 20 years.

produced by: Pete Edge


Having never coded in OpenFrameworks before, and having a longstanding hate-hate relationship with mathematics despite working 20 years in my chosen profession as an IT Systems Engineer, I hoped I might hide my technical shortcomings behind a concept that might make people laugh.

As it turned out I spent more time and effort on this piece than I thought I might if I created a "serious" piece (whatever that means), and learned quite a bit in the process. (I believe that might have been the point of the exercise.)

Concept and background research

The piece tells the story of a mature student returning to academia after 20 years, grappling with age, general all-pervasive self-doubt, time management between work and study, separation from friends and family on the other side of the world, and the curious near-incomprehensibility of theoretical texts. Oh, and COVID.

I was initially inspired by the video work of artist Tony Oursler ( and the anarchic cut-out animation of Terry Gilliam ( I realised later, looking at the completed piece, that musician and multimedia artist Aphex Twin (Richard D. James) was also a major influence (


The piece was written in OpenFrameworks using the piMapper projection-mapping addon.

The main technical challenge was to incorporate all of the frame buffer objects (FBOs) into a single project without sacrificing speed due to system resource contention, or quality due to warping when applying the FBOs to each projection surface. I am happy that I achieved what I could with my existing skill level and the hardware I ran the project on.

I used a single image, a photo of my face with the eyes and mouth cut out to reveal a transparent background, portions of which were overlaid on shapes created and animated with code. The scrolling text used in the piece was loaded into a buffer from an external file and split into a number string vectors. The swirling text was imported in much the same way.

The other technical challenge in a projection mapping piece is ensuring consistency of shapes and positioning across all surfaces and scenes. This required careful manipulation of the piMapper XML file, which was much less labour-intensive than manually adjusting every scene, particularly since the piece consists of over 30 scenes.

Future development

The attached video is a screen recording rather than a video of the projection, since COVID restrictions prevented me from having access to a video projector. I am curious to see what this piece looks like "in the flesh" as I am sure it would open up new avenues of refinement.

I believe the piece could also be improved with music, either switching scenes live as a performance, or assigning the scenes to a MIDI controller and sequencing it to music.

Self evaluation

I think I captured some of the Gilliam-esque anarchic and irreverent humour that inspired me in the first place. The piece is certainly over-the-top and, looking back at it now, is more than a little unsettling given it is also inspired by personal experience. I think I'm probably all right now...

I think I could, with time and study, make the text scrolling more efficient. At present, drawing such a large amount of text twice to achieve the de-focus effect I was going for was very expensive, maxing out the CPU at 98%. The effect the text scroll had on the performance of the other FBOs in the same scene was dramatic, but I suspect the hardware I am using is also somewhat to blame - my laptop is seven years old. 

If I had to do it again I might spend more time working on the transitions and the timing, although as I stated in the section above I think the piece would be much improved with a soundtrack. As it stands I was happy to stop at the point that I did and I am happy with the result.


The star shape used in the initial fade-ins and the irises of the eyes were adapted from one of the example sketches that came with the OpenFrameworks installation. Other than that shape, the rest of the code is my own work or derived from techniques learned in class, OpenFrameworks example sketches, and from the official OpenFrameworks documentation.

The scrolling text is taken from my own weekly blog posts for the Computational Arts-based Reasearch and Theory module, and the swirling text is a collection of words found in various theoretical texts I encountered during the same module.