Best Paper CAe 2011

Last summer my research won the best paper at Computational Aesthetics 2011 hosted here in Vancouver.

Link to papers

Here is the abstract from the paper:

The communication of emotion and the creation of affect are core to creating immersive and engaging experiences, such as those in performance, games and simulation. They often rely on atmospheric cues that influence how an environment feels. The design of such ambient visual cues for affect is an elusive topic that has been studied by painters, theatre directors, scenic designers, lighting designers, filmmakers, producers, and artists for years. Research shows that simple motions have the capacity to be both perceptually efficient and powerfully evocative, and motion textures – patterns of ambient motion throughout the scene – are frequently used to imbue the atmosphere with affect. To date there is little empirical evidence of what properties of motion texture are most influential in this affect. In this paper we report the results of a study of simple, abstract motion textures that show path curvature, speed and texture layout can influence affective impressions such as valence, comfort, urgency and in.

Posted in School | Leave a comment

Painting Living Paintings

The above videos demonstrate user painting in my Living Painting Application described in this post. The hand tracking is done using a Kinect and objects are seeded from the hand with a velocity in the direction the hand is facing. The spread of objects being emitted can be controlled as well.

The Living Painting Application can work on a number of layers at once, the top example uses two layers while the bottom is only one. The layers can be video sources that are painted in real time.

Posted in Works | Leave a comment

Autumn Crystal Desktops

These desktops were generated by my Living Painting application. Enjoy!

Posted in Works | Leave a comment

Living Painting Demos

You are the painting.

Above are some demos of my Living Painting application. The application can paint still images, video, and video from Kinect with background subtraction.

Multiple layers can be created to achieve complex visual results. Blending painted users with painted stills and video in real time. Sound reactive brushes are also available, size and movement being controlled by audio levels.

The application uses Cinder an opensource C++ library, OpenGL, and some advanced programming to achieve over 100,000 brushes with multiple source layers in real time.


  • Infinite surfaces to paint (stills/video)
  • Infinite brush layers
  • Kinect video source
  • Audio analysis and reaction
  • over 100,000 brushes real-time @ 30fps!
  • (tested on core i7 with 460M NVidia, could be better…)

The goal of the application is to provide real-time creation of and immersion in famous art styles: impressionism, cubism, abstract.

Posted in Works | Leave a comment

Kinect Painter for Celfin Art Lab

I was recently contracted by Celfin Capital, an investment firm in Chile to develop what was my Living Brushes program into an interactive painting kiosk for use in the streets of Santiago. We talked on Skype about the possibility of doing the project and I was very interested in being a part of it.

Developed mainly in Vancouver over a period of 1 and a half months, the application was finished in Santiago, with some updates being done back here in Vancouver.

The project officially launched on November 4th, 2011.

The program allows users to paint with a variety of expressive brushes. A menu system allows users to switch brushes, clear the screen, change backgrounds and email screenshots to themselves. Works for 1 and 2 players.

The following video is a demo of my cousin using the program before it was released:

Posted in Works | Leave a comment

Living Painting Preview

This is a preview of my upcoming Living Painting works. The application used the Cinder library, C++ and OpenGL. The architecture is designed to be extensible and has a full GUI panel for tweaking each effect. OpenGL shaders are used for the bloom and other effects.

Posted in Works | Leave a comment

Kinect and Cinder Library

I decided to give the Cinder library a try based on the packed feature set.

This is a little demo application made with the Kinect that runs about 4000 particles in real time using only the Cinder API drawing methods. I believe Cinder will prove to be about 2x faster than openframeworks across the board, which is awesome.

I’ve hooked up box2d but haven’t had a chance to optimize any of the rendering yet.


Still fleshing out the architecture of the Kinect painting program.

Posted in Works | Leave a comment

IMSound @ Vancouver Mini Maker Faire

I did some programming work on an interactive installation for the Vancouver Mini Maker Faire this year (2011).

The project was a collaboration between Tangible Interaction, Chairman Ting, and myself.

We had kids in mind when we thought about creating the install, so we used a heat sensor mounted 4-5 meters high and tracked body movement around a grid of characters.

Each character had a personality (sound, light, face) and would light up when the kids got close.

It was great to see the kids faces and excitement when they saw what was happening!

Posted in Works | Tagged , , , | Leave a comment

Blaze Space – Android Game Engine Demo

For the last two months I’ve been working on a fast, lightweight, 2D Physics and Game engine built in Actionscript 3 (Flash).

The goal was to develop a library of tools to support creative interactive work (games, etc…) and allow for rapid prototyping of concepts.

Another focus was platform independence which is why I decided to work with flash.

Two months ago Adobe released Air 2.6 for Android and iOS, and I stumbled upon this video:

The video demonstrated a simple 2D side scrolling game running on multiple devices (Mac, Android, iOS) and potentially all Web / Desktop / Mobile platforms.

I took this as a testament to how far interpreted languages like Flash have come and realized that Adobe would only throw more support behind such an amazing technology.

Simply put: code it once, deploy it everywhere.

Posted in Works | Tagged , , , , | Leave a comment

Actionscript and Haxe Physics Engine Roundup

While developing a fast, 2d physics, lightweight, game engine, I tested multiple open source physics engines for three features: speed, memory usage, feature set.

Note: I vetted each engine on how it performed on Air for Android. All of these engines are excellent choices for Web / Desktop where squeezing performance is not an issue.

Here are the results:

Glaze: high performance, low memory, full features (except buoyancy)
Physaxe (haxeonly): high performance, low memory, limited features
Box2d (alchemy, haxe, actionscript): medium performance, medium memory, full features
Motor2: medium performance, medium memory, full features

My choice is Glaze, simply because it performed the best and had all the features I was looking for.

There is a divide in physics engines out there that I did notice: Chipmunk based engines (Glaze, Physaxe) and Box2D based engines (motor2).

The reasons being that Box2D has always been focused on simulation accuracy, while Chipmunk is geared towards game performance.

Needless to say, these are all my experiences and opinions, there are many articles debating these topics and the only way to really know which physics engine you should use is to test them yourself.

Posted in News | Tagged , , , | Leave a comment