next up previous
Next: Cartoon-Style renderings Up: Painterly Rendering Previous: Painterly Image Processing Techniques


Painterly Rendering for Animation and Interaction

Figure: A graftal is an object which is used as a particle
\resizebox*{5cm}{!}{\includegraphics{interactive-artistic-graftal-opengl.eps}}

Kaplan et al. [#!SYMP_NPAR-2000-4!#] have proposed a interactive artistic system that is capable of producing virtually every drawing style on 3D objects. The approach physically simulates the distribution of particles on a surface. The particles themselves are graftals ([#!Alvy84Graftals!#,#!Reeves85Graftals!#], see Figure [*]), furry little triangle strips that align with the curvature of the surface. When used as particles, these graftals can produce typical stroke shapes formed by pencil, pen or brushes. They are aligned with the curvature of the object in order to gain the painted appearance. Frame-to-frame coherence is maintained by drawing all graftals for each frame. Possible uses of graftals for the simulation of fur and vegetation was discussed in [#!EVL-1999-276!#] (also see Figure [*]).

Figure: A furry object using graftals
\resizebox*{4cm}{!}{\includegraphics{interactive-artistic-graftal-bunny.eps}}

Another approach which also uses particles to paint 3D objects, but is more artistically inspired than the former one is ``Painterly Rendering for Animation'' (Barbara J. Meier, [#!CONF_CG-1!#]). Instead of rendering the painting in one step, the image is slowly made up of layers. The main idea of the approach is to describe surfaces by particles, depth-sort them with respect to the camera and render them as 2D brush strokes in screen space. The artist can influence color, size and orientation of the brush strokes.

Figure [*] gives an overview of the rendering pipeline used: First, the particles need to be distributed on the surface. For this purpose, the surface is tessellated, and on each of the created triangles a random number of particles is put. These particles are then transformed to view space, and are rendered as brush strokes in screen space. The user can specify the appearance of each brush stroke using so-called reference images. The first one is for the color of the brush. The second one gives the orientation, and the third determines the density of the strokes that need to be painted on the object. A painterly renderer takes this information and computes an output image. For a hand-crafted look, the parameters of each brush stroke need to be randomized to a certain extent (for example, the orientation of the brush-strokes could vary slightly over the surface, see Figure [*]).

Figure: The pipeline for a painterly renderer
\resizebox*{0.9\textwidth}{!}{\includegraphics{painterly-pipeline.eps}}

Figure: Hand-crafted look after applying randomness to the stroke orientation

\resizebox*{0.7\textwidth}{!}{\includegraphics{painterly-randomness.eps}}

As most valuable extension to the approach, the author has introduced a technique that first creates a rough underpainting and then refines this image with fine brush strokes. Furthermore, each 3D object is rendered as a separate layer, making it possible to adjust the painting parameters individually per object. The layers are then composed into the final image (progressive painting). In Figure [*], the haystack and the ground are rendered with different brush strokes. Furthermore, the painting is slowly produced from a dark and rough underpainting by consecutively adding more detail.

Figure: Progressive painting


\includegraphics{painterly-progression-rotated_reduced.eps}


next up previous
Next: Cartoon-Style renderings Up: Painterly Rendering Previous: Painterly Image Processing Techniques
Gabriel Wurzer 2002-03-21