I recently got my hands on the source code for a painting application written from 1991 to 1993 by EPITA students in France — Olivier Brand, Olivier Raoul, Olivier Lahaye, Olivier Coquet, Frederic Losacco, Frederic Gaubert, Bertrand le Vern en Cedric Marsot. Their painting application — a school project — is called Rainbow and is a treasure trove of advanced ideas.

Apart from the custom real-time dithering X server that’s included somewhere, the version of the code Olivier Lahaye managed to retrieve for me from an ageing MIPS machine can paint using on-the-fly computed textures, deform an image by distorting a grid and lot, lots more. A very cool magic wand implementation.

More advanced code is somewhere on a possibly broken Amiga harddisk. Or not, but Olivier Lahaye is trying to hunt it out for me. This includes a SIOX-like algorithm for foreground selection and an intelligent fill routine that was able to texture an image of a green car in the countryside. Select the car, select fill: presto: a wooden car with all the shadows intact. Painting with just intensity. Paint with color, but not intensity.

To put this into context: in August 1995 Kimball and Mattis started on the Gimp. XPaint seems to have started in 1991, one year after Rainbow. Try to imagine what the libre graphics world would have looked like if an application with the capabilities of Rainbow would have been released under an open source license in 1993!