Sept 2007 Digital Live Art | April 2007 unDEAF
July 27th 2007
The next challenge for Wet+Sticky is to support a performance piece for Digital Live Art to be held in Leeds, UK this September. So over the next month or so I'm going to document my progress towards "Dancing with Paint". This will involve fixing some of the current limitations of Wet+Sticky and providing an input device interface to the Nintendo Wiiremote. There have been quite a few attempts at using the Wiiremote beyond the Nintendo Wii and I'll link to those as I progress.
April 2007 unDEAF Recreating Wet+Sticky. An unDEAF contribution by David England
April Thursday 12th | Friday 13th | Saturday 14th | Sunday 15th | Monday 16th | Download (Zip file 0.8 MBytes, Version Alpha 0.1 15th April 2007).
For unDEAF I'm attempting to recreate Wet+Sticky. Wet+Sticky was Tunde Cockshott's idea for a paint program (references) that simulated real paint and gave artists a better medium than conventional computer paint tools. The program formed part of Tunde's PhD which myself and Kevin Waite worked on further around 1990 and 1991. However with the passing of time bit-rot had set in and the program no longer compiles. Originally it was built for Athena Widgets under the X Windows Systems and SunOS. I also wrote a version that ran on a Multi-processor, transputer system. My plan over the next couple of days is to get it working under X Windows on Mac OS and/or GLUT/OpenGL. Hence it should work on other UNIX-based systems. I'll put a daily diary of my trials and tribulations up here and eventually a link to the source code (GPL, working or not!). If you have any questions just email me, Dave England. In the meantime here are some pictures we made earlier ...

A test strip with 9 blobs of paint becoming increasing wet from top-left to bottom right. The image is also bump-mapped using the volume of paint in each cell as a height-map.



The Mona Lisa made wet again. Central image shows it after dripping for a few hours and the right-hand image has bump mapping applied.
Progress today: The program now re-compiles under Mac OS with X Windows and GLUT interfaces. It runs too but the windows are blank :-(
Longer term plans: do another multi-processor implementation, exploit programmable pipelines on modern GPU's ...
Friday 13th Back to top
Leonardo Da Vinci's Blue period!

This is today's test run on an Intel Mac (MacBook Pro 2.16GHz Core Duo). The left-hand image shows the dryness of the paint, the central image the volume of paint in each cell of the canvas and on the right-hand is a bump-mapped image. Two things to note: firstly, it only took 20 seconds for the paint to flow to this state of dryness. In the original version it would have taken 2-3 hours! Secondly, it's blue. The original version used an 8-bit deep colour map - fitting the limited graphics of the time. The Intel Mac and most current machines use a 24bit or greater colour depth. On X Windows TrueColor is 24 bits of red, green and blue. So here we are only seeing the last 8 bits of the blue component. And on PPC Macs the windows are black - indicating that there are some byte-ordering issues. So that's colour map and endian issues to be addressed over the next couple of days. If you're reading this in Rotterdam, Marta has a copy of the source on a CD.
The current Xlib solution looks like a dead-end so next I'll try GLX.
Saturday 14th Back to top
Still tinkering with colour maps ...
Sunday 15th Back to top
Success! At least for grayscale colour maps. Below are a series of images playing around with gravity direction. You can also download the source (Zip file 0.8 MBytes Version Alpha 0.1). Note it's only compiled and tested on Mac OS X 10.4 with X11R6 and an Intel machine. Dependencies include XFree86 and netpbm.

Test with gravity going north and south on two sides of the canvas

Split test with Mona

Gravity going 4 ways in each quadrant of the canvas

Mona going 4 ways

Gravity going in random ways in each cell of the canvas

Gravity in random directions and strengths.
Monday 16th Back to top
Below are some test results from running Wet+Sticky on a variety of machines. I ran the 9 blob test above until the paint dried, i.e. there were no further changes in the Volume window. All program settings were the same except for Cygwin. The rest were compiled with -O3 optimisation using gcc.
| Machine | CPU Speed | OS Environment | Video | Speed of Test |
|---|---|---|---|---|
| Apple MacBook Pro Intel Core Duo | 2.16 GHz |
Mac OS X 10.4 | ATI Radeon X1600 | 40 seconds |
| Intel Pentium PC | 3.2 GHz |
Suse Linux 9.3 | Nvidia GeForce 6600 | 40 seconds |
| Apple PowerMac Dual G5 | 2.0 GHZ |
Mac OS X 10.4 | Nvidia GeForce 7800GT | 45 seconds |
| Intel Pentium PC | 3.0 GHz |
Cygwin under Windows XP* | Nvidia GeForce 5700LE | 3 minutes |
| Apple Mac Mini PPC G4 | 1.42 GHz |
Mac OS X 10.4 | ATI Radeon 9200 | 3 mins 15 seconds |
I'm pleased with the MacBook Pro, SUSE and PowerMac results. I would expect a comparable native Windows application to be as good. The Cygwin result is to be expected as this is a virtual environment. I also tweaked the Cygwin test to run the bump mapping every 5000 paint evolution cycles rather than every 500 cycles for the other tests. Otherwise it would have been even slower. If you download the code and test it on other environments I'll put the results up here. I'd also be interested to hear of any code and rendering optimisations.
Other things to do
Downloads are provided under GPL. Images are provided under Creative Commons.