Non-Photorealistic Rendering

By Bruce and Amy Gooch

When I bought a Wacom tablet my intention was to use it to sketch maps for my novel-in-progress. Quite soon I discovered that it came with an application that purported to imitate, simulate or fake real artist’s media, like charcoal, paint and ink.

  • Author: Bruce and Amy Gooch
  • Title: Non-Photorealistic Rendering
  • Pages: 243
  • Published: 2001
  • Publisher: A.K. Peters, Natick, Massachusetts
  • ISBN: 1568811330

Being quite fond of pottering with pencils, ink, paint — pity my monitor and keyboard keep my desk fully occupied leaving no room for artists’ materials — I decided to give that app a try. Well, trust me on this Corel Painter sucks. It doesn’t do what it promises: simulate real artists media on a computer with a graphics tablet.

Raph Levien explains why; and his little article piqued my interest enough that I started to cast around for a project to experiment with. I don’t even have the beginnings of mathematics, but I understood his paper, or so I thought.

After an attempt to code a prototype in Python, I decided to teach myself C++ (see forthcoming review of Koenig and Moo’s Accelerated C++), and I decided to join my lot with Krita, KDE’s long-languishing paint application.

And I needed to get the low-down on simulating paint, charcoal, the works. It is surprisingly hard to find good stuff on that. A few web-pages exist, a few SIGGRAPH papers can be downloaded, and one or two books look helpful. It seems that this is a field very much in its infancy. Fun, in other words.

Non-Photorealistic Rendering is the term most commonly employed in the field, even though I am not interested in rendering: I am interested in replicating the artist’s experience on the computer, pure and simple. I don’t want to confuse him or her with layers, brush masks, opacities or Porter-Duff composition strategies. I had high hopes (see the TOC of this book on the authors’ page) of this book, but only the first few chapters were interesting, and even so, they merely summarized papers I had already found. The pseudo-code they give for simulating ink is laughable and useless and their discussion seems geared towards providing a primer for students looking for a finals project.

Indeed, they often give an estimate of how much time it would take a decent programmer to replicate the results presented in a certain paper… I wish the authors of those papers would open their code, I consider keeping code secret the same as withholding facts, which is, as Dorothy L. Sayers famously said in ‘Gaudy Night’, the same as publishing a falsehood.

Anyway, this book contained four, maybe six pages of real interest to me… For other people, the balance might be better, of course. But if what you want is to create a painting app then you don’t want this book.