Painterly Rendering for Animation
A Project in Non-Photorealistic Rendering


Painterly Animation (Win32, 540 kB)


All videos are AVI encoded with WMV9, and are between 50-150kB.


Beach Ball

Master Rai
Plain Video Video Video
Strokes Follow Edges Video Video Video
Strokes Follow Edges
and XY Jittered
Video Video Video


The application is an implementation of the technique outlined by Barbara J. Meier's paper "Painterly Rendering for Animation" (SIGGRAPH '96). The project allows one to render scenes and objects in a painterly style. It works by placing particles across the surfaces involved in a scene, where each particle represents a brush stroke, and by using 2D reference images and the 3D pointset, painterly animations with minimal temporal artifacts can be produced. Noise can be added to the strokes intentionally, to push further the illusion that the frames were drawn individually by an artist.




Sphere, polygon rendered

Sphere, stroke rendered

Beach ball, polygon rendered

Beach ball, stroke rendered

Master Rai model

Master Rai, polygon rendered

Master Rai, stroke rendered

Master Rai, render for stroke size

Master Rai, showing brush strokes

Implementation Details:

The project was implemented in C++. Libraries used include: OpenGL (graphics), DevIL (image processing), GLUI (user interface widgets). Uses a modified Vector class originally by Allen Sherrod. Uses a wrapper class to interface with the Video for Windows library, author unknown.

The components of this project I implemented are: