My Solution


 

   The two papers previously outlined, suggested a number of techniques that when used together produced good results. My solution consists of a number of 2D and 3D techniques that will work together to create non-photorealistic painterly imagery.

 

Ideas From the Papers

   I was interested in the use of pre-created textures to determine the style of brush strokes applied to 3D objects. The Painterly Approach paper used these textures to determine shape, colour and size of brush strokes. It is obvious to me that I will not have time to create my own custom rendering software and so I have settled on the idea of using texture maps to apply brush strokes to objects. The second paper clarified the importance of mimicking reality as closely as possible by means of physical simulation. It stands to reason that if I am to use texture maps to represent brush strokes, I should create these textures by some form of physical simulation.

 

My Ideas

   My solution to the problem of creating painterly imagery relies on five pieces of software:

  1. Painter - for texture map creation

  2. Maya - for 3D modelling and animation

  3. Houdini - for animation of flocking crows

  4. Renderman - for shading and rendering

  5. Chalice - for compositing

   I have adapted the texturing ideas from the Painterly Approach paper to fit in with the software I am using. My solution is basically a pipeline of processes. Each part of the pipeline is accomplished using one of the above pieces of software. The basic form of this pipeline is as follows:

 

  1. Process 1: Painter

    • Greyscale brushstroke bitmaps created in Painter

    • Painted using 'painterly effects tools', which physically simulate mediums such as oil paint

    • Bitmaps are defined as a pattern so that they tile seamlessly

    • Resolution and complexity of bitmaps is user defined

    • Bitmaps define shape and style of brushstrokes but NOT colour or size. These two characteristics are specified within my Renderman shader.                             

     

  2.  Process 2: Maya

    • Environment modelled and animated in Maya

    • Camera motion created

    • Flight path for crows created

     

  3. Process 3: Houdini

    • Particle systems used to drive flocking crows

    • Flight path created in Maya imported into Houdini and used to direct the crows around the VanGogh world

     

  4. Process 4: Renderman

    • Renderman shader developed

    • Shader uses glossy specular function to create an oily appearance

    • Shader defines all usual material attributes plus transluscency (as light shines through thin oil paint)

    • Shader uses predefined brushstoke bitmaps (created in process 1) as texture maps. The shader also enables the user to define the colour of the brushstokes within Glimpse. Up to five layers of brushstrokes are available.

    • Shader also uses a bumpmap and transparency map. Paint thickness can be simulated by increasing bumpiness and/or displacement.

     

  5. Process 5: Chalice

    • 2D Efffects used to apply edge outlines to certain 3D objects

    • Compositing of multiple image layers (colour, shadow passes etc.)

    • Colour correction etc.

     

 

The Solution in Detail

   Part four of the pipeline (Renderman Shader) is probably the most important stage. The shader will create the main look of the animation. As suggested by the Computer Generated Watercolour paper it is important to understand  the attributes of the medium - in this case oil paint - in order to replicate it convincingly. From Vangogh paintings I listed the most noticeable attributes. Most of these will be replicated within the Renderman Shader. Some will be created in the Chalice stage. The rest of this report will look at how each attribute was digitally created, at modelling, at lighting and lastly at animation (including the flocking crows). The shading/rendering and compositing aspect of this project will be addressed throughout the report (as it plays such a large part in every stage).

   To browse or download my Vangogh Renderman shader (and associated files), please goto the Shader page.