Existing Solutions |
I have investigated some existing solutions that address the problem of creating painterly images. There are many such solutions documented online in Siggraph Papers. I did not want to copy someone elses idea but I thought it sensible to see what has already been attempted. There has been a vast amount of research undertaken in this area. Many of the solutions are based on custom 3D rendering software which was developed specifically to solve the problem. This particular approach was not suited to me because I did not have the time to write my own software. Other solutions depended on 2D post-production techniques which applied mathematical filters to normal images to make them appear to have been painted. I wanted to avoid a purely 2D solution because when applied to a 3D animation it can destroy the illusion of being in a 3D world. I found two particular papers which were directly relevant to my project. These two were especially interesting because one suggested a hybrid 3D / 2D solution to the problem and the other concentrated on 2D post-production effects. Reading and understanding these papers enabled me to make a final decision as to what form my solution would take. The two papers were:
Below is a simplified description of each paper and the solutions suggested. For a detailed description please read the complete papers by following the links above.
The Painterly Approach This paper uses 2D bitmaps and 3D particles. Within a 3D scene, particles are placed on the surfaces of 3D polygon objects. The number of particles placed on each polygonal face determines the accuracy of the final painterly image. Each particle will be textured with a brush stroke image and is analysed at render time in such a way as to determine its angle from the viewer (camera). This angle is used to index a lookup table of images, where the corresponding bitmap is applied to the particles as a texture. This solution requires a series of brush stroke bitmaps. Each bitmap represents a brush stroke at a given angle of rotation and can thus range from 0 degrees (facing the viewer) to 180 degrees (facing away from the viewer). These bitmaps are placed into the lookup table. It is up to the user how many angles to represent with brush strokes. 180 bitmaps - one for each angle - may seem excessive for low detail images, so instead this number could be resampled, for instance to 18 bitmaps (one brush stroke for every 10 degrees). See image below.
The Painterly Approach: This illustration shows how particles on a polygonal object are textured with indexed bitmaps
At render time the final image will consist of the textured particles which when densely layered will create a painterly image. The underlying geometry will not be visible. In addition, the style of the painting can be changed by simply creating different style brush stroke bitmaps.
Painterly Apple: A 3D render (produced by custom software)
This technique actually uses a custom rendering engine but it is clear to me how Maya could be adapted to attach particles to polygonal faces and texture them with an indexed image. I like the way in which pre-created bitmaps are used to determine the colour and shape of the brush strokes. This offers a bit of flexibility. However I do not think that using individual particles to represent each brush stroke is suitable for my project as I would require literally hundreds of thousands (I will be using many objects) which would slow down the workflow too much.
Computer Generated Watercolour This paper describes a system for painting in 2D with a watercolour effect. It also looks briefly at 2D post-production effects for generating painterly images from existing 2D images and from 3D rendered imagery. This paper differs from the previous one because it makes use of physical simulation of watercolour instead of relying on texturing. Physical simulation requires that a computer system replicates the physical properties of a substance. The system outlined here is based on an ordered set of transluscent glazes which are created independently using a shallow water fluid simulation. In other words it simulates multiple, layered strokes of watercolour paint, applied to watercolour paper. The paper is certainly complex from a scientific standpoint. It makes it very clear though that such simulations produce highly realistic results. This kind of realism is desirable in my project. I noticed that the paper analysed watercolour effects in order to gain a better understanding of the medium. These effects included back-running, granulation, pigmentation and edge-darkening. In order for my project to be successful I will thus need to look at the effects produced by oil paint (as used by Vangogh) and attempt to re-produce these in 3D. As the paper states: "To simulate watercolour effectively, it is important to study not only the physical properties of the medium, but also the characteristic phenomena that make watercolour so popular to artists. A simulation is successful only if it can achieve many of the same effects."
Watercolour Apple: A 2D digital painting using the shallow fluid simulation described in the paper Finally, this paper raises some important points about paper or canvas and its interaction with watercolour. This interaction has a direct affect on the final look of a painting. Notice the obvious canvas surface of the above image, which adds considerably to the watercolour effect. I will describe how I have used canvas to affect my oil paint shader in a later section. |