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).

Thursday 12th

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 ...

Test strip

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.

Mona Lisa originalMona Lisa wet againMona Lisa, wet, dripping and bumpy

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!

Test on Friday 13th

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 Split gravity

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

Test Mona Split gravity

Split test with Mona

Test 4 way Split gravity

Gravity going 4 ways in each quadrant of the canvas

Test 4 way Split gravity

Mona going 4 ways

Test random gravity

Gravity going in random ways in each cell of the canvas

Test Random gravity

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.

Speed test of Wet+Sticky
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

  1. Fix TrueColor colourmaps
  2. Allow images of arbitrary sizes and types (ImageMagick)
  3. Off-load bump-mapping to a shader language & provide other effects
  4. Experiment with novel input techniques for brushes
  5. Provide wet+sticky as a library
  6. Provide wet+sticky as a plug-in for Photoshop and GIMP
  7. Build in a scripting language interface
  8. Start planning a full interactive application
  9. Develop a Windows version

Downloads are provided under GPL. Images are provided under Creative Commons.

References

  1. Cockshott T, Patterson J W, England D, "Modelling the Texture of Paint", Computer Graphics Forum, Vol 11, No 3, NCC Blackwell, 1992.
  2. Cockshott T, England D, "Wet and Sticky: Supporting Interaction with wet paint", Proceedings of BCS HCI '91, Cambridge University Press, August, 1991.
  3. England D, Cockshott T, "Painting with wet paint on a Transputer-Based system", in Proceedings of Transputer Applications 3 (Durani et al, eds.), IOS Press, August 1991

Useful links

Back to top

Valid XHTML 1.0 Transitional