Painterly Rendering For Animation
Painterly Rendering for Animation
Barbara J. Meier
Walt Disney Feature Animation
Abstract
1
Introduction
A painting reduces a subject to its essence. The process of paint-
We present a technique for rendering animations in a painterly style.
ing is an artist’s interpretation of the world, real or imagined, to a
The difficulty in using existing still frame methods for animation is
two-dimensional canvas. By not depicting every detail, the painter
getting the paint to “stick” to surfaces rather than randomly change
allows the viewer to complete the picture, to share in the interpre-
with each frame, while still retaining a hand-crafted look. We
tative process. Of course the process begins with the painter who,
extend the still frame method to animation by solving two major
by abstracting a scene, can direct the viewer’s eye to the area of
specific problems of previous techniques. First our method elimi-
interest by simplifying unimportant details. A painter can exag-
nates the “shower door” effect in which an animation appears as if
gerate the effect of light to create a wide tonal range that creates
it were being viewed through textured glass because brush strokes
richness and drama at the center of interest. By using the largest
stick to the viewplane not to the animating surfaces. Second, our
brush stroke possible to represent small forms and textures, the
technique provides for frame-to-frame coherence in animations so
painter creates a shorthand for conveying details. The character
that the resulting frames do not randomly change every frame. To
of brush strokes define the character of a surface and how light is
maintain coherence, we model surfaces as 3d particle sets which
reflected from it; surfaces that are well-blended imply smoothness
are rendered as 2d paint brush strokes in screen space much like an
or softness while direct, unblended strokes imply stronger lighting
artist lays down brush strokes on a canvas. We use geometric and
or more pronounced surface texture. Painters use varying edge
lighting properties of the surfaces to control the appearance of brush
definition, edges that are distinct in one place and lose themselves
strokes. This powerful combination of using 3d particles, surface
in another, to add rhythm to a composition. Letting brush strokes
lighting information, and rendering 2d brush strokes in screen space
cross edge boundaries can also help unify an entire composition.
gives us the painterly style we desire and forces the brush strokes
By varying brush stroke texture, size, and direction, the artist can
to stick to animating surfaces. By varying lighting and choosing
not only define forms, but also provide rhythm and energy that
brush stroke parameters we can create many varied painterly styles.
help direct the viewer’s eye. Larger, smoother brush strokes tend
We illustrate the method with images and animated sequences and
to recede in depth while small, textured strokes depict foreground
present specific technical and creative suggestions for achieving
detail. A painter can even use brush strokes to represent light and
different looks.
atmosphere. Whatever the painting style, a certain amount of ab-
CR Categories and Subject Descriptors: I.3.3 [Computer
straction, or economy of description, strengthens the composition
Graphics]: Picture/Image Generation; I.3.5 [Computer Graphics]:
and provides focus [5, 6, 13].
Three-Dimensional Graphics and Realism – Color, Shading, Shad-
Computer rendering provides an easy, automated way to render
owing, and Texture.
everything in a scene with fine detail. This creates static images
that do not invite the viewer into the process. In particular, when
Key Words: painterly rendering, non-photorealistic rendering,
creating images for animation, focus and simplification are essen-
particle systems, painting, abstract images.
tial to showing action in a clear way since the temporal nature of
the image gives the viewer much less time to let their eyes wan-
der about the scene [16]. Certainly focus and simplicity can be
Author’s current affiliation: Hammerhead Productions.
achieved with computer rendering tools by carefully controlling
email: bjm@gg.caltech.edu or barb@hammerhead.com
lighting and surface attributes and unnecessary detail can be ob-
scured using hierarchical modeling, but it is still difficult to obtain
the level of abstraction that is evident in a good painting. Even
the brush strokes of a painting contribute to the abstraction of its
subject and add another dimension to which a viewer can respond.
One could not imagine looking at a Van Gogh painting without ex-
periencing the energy of his brush strokes. Hand-drawn and hand-
painted animations have an energetic quality that is lacking in most
computer-rendered animation. Often when computer methods try
to mimic the wavering quality of hand-drawn animation, too much
randomness creeps in and makes the animation noisy. A human
artist drawing each frame is better able to control frame-to-frame
coherence, while maintaining a hand-crafted look.
Figure 1: Frames from a painterly rendered animation. The painterly renderer is particularly well-suited for abstracting natural textures
like the cloudy sky, hay, and plowed ground in this example. Note that the haystack texture does not exhibit the problems of traditional
texture-mapping in which the gift-wrapped texture gets dense near silhouette edges. The overlapping brush strokes on the plowed ground
imply volume rather than flat, painted texture as the view animates, even though the surface is planar. We use the largest brush strokes to paint
the sky, using brush texture and random hue variation to create clouds that do not exist in the color reference picture. The original haystack
geometry is simply a cone resting on a cylinder. We represent the hay with a brush stroke shorthand that eliminates the need to model and
color every piece of hay.
We want to take advantage of the benefits of a painterly look on
painterly look, and energy of traditional media, but these tools
computer-rendered animating geometry. Aesthetically, a still frame
typically work only for still frames. These tools and related work
should have the characteristics of an oil or pastel painting: details
are discussed in section 2.
should be abstracted by shorthand brush strokes, the roundness of
Our solution, presented in section 3, is to generate a set of
forms should be defined by brush stroke directions, color should
particles that describe a surface, depth-sort the particles in camera
break the boundaries of surfaces to create rhythm in the composi-
space, and render them as 2d brush strokes in screen space using a
tion, brush stroke size and texture should be varied according to the
painter’s algorithm [7]. The look of the 2d brush strokes, including
kind of surface being depicted, and the effects of light should be
color, size, and orientation, is derived from the geometry, surface
exaggerated to help provide focus, all as if an artist had painted on
attributes, and lighting characteristics of the surface. These at-
a physical canvas. Technically, the rendered images should main-
tributes are designed by the user and either associated directly with
tain coherence in animated sequences and should not change in a
the particles or encoded in rendered images of the geometry, called
random way every frame. Images should not have the gift-wrapped
reference pictures. We illustrate our work with images and anima-
look of painted textures that are mapped onto the geometry using
tions that have been successfully rendered to achieve a painterly
traditional methods. Our goal is not to eliminate the need for ob-
look using this algorithm (Figures 1, 5, and 7), and in section 4
servational understanding and artistic vision, but rather to provide a
we discuss the images. Finally, in section 5, we present aesthetic
tool that automates the drawing of brush strokes, but leaves the artis-
techniques and technical considerations for creating various image
tic decisions about lighting, color, and brush stroke characteristics
styles.
to the user.
The focus of most rendering research in the last two decades has
been on the creation of photorealistic imagery. These methods are
2
Related Work
quite sophisticated, but tend to create imagery that is mechanical-
looking because detail is represented very accurately. Recently
Our work combines core ideas from two areas of previous work:
there has been a movement toward more creative and expressive
1) painterly rendering of still images from reference pictures and
imagery in computer graphics but few techniques that provide ways
2) particle rendering. From the first research area, our work was
to achieve different looks, especially for animation. Some computer
most directly inspired by [4]. Haeberli described a system for cre-
painting tools can mimic successfully the hand-drawn line quality,
ating painterly images from a collection of brush strokes that obtain
We begin by creating a particle set that represents geometry
create particles to represent geometry
such as a surface. The particles are transformed to screen space
for each frame of animation
and sorted in order of their distance from the viewpoint. We use a
create reference pictures using geometry, surface
painter’s algorithm to render particles as 2d brush strokes starting
attributes, and lighting
with the particles furthest from the viewpoint, and continuing until
transform particles based on animation parameters
all particles are exhausted. Each brush stroke renders one particle.
sort particles by distance from viewpoint
The look of the rendered brush strokes, including color, shape, size,
for each particle, starting with furthest from viewpoint
texture, and orientation, is specified by a set of reference pictures
transform particle to screen space
or by data that is stored with the particles. Reference pictures are
determine brush stroke attributes from
rendered pictures of the underlying geometry that use lighting and
reference pictures or particles and randomly
surface attributes to achieve different looks. The attributes for a
perturb them based on user-selected parameters
particle are looked up in the reference pictures in the same screen
composite brush stroke into paint buffer
space location at which a particle will be rendered finally. Figure 3
end (for each particle)
illustrates the painterly rendering pipeline.
end (for each frame)
In the following sections, we begin by discussing particle place-
ment. Next we explain brush stroke attributes, how they are applied,
and how the reference pictures that encode the attributes are created.
Figure 2: Painterly rendering algorithm.
Finally, we present various ways of manipulating the brush stroke
attributes to produce painterly images.
their attributes, such as position, color, size, and orientation, from
synthetically rendered or photographic reference pictures. Several
3.1
Generating Particles
commercial systems, such as [3] and [8], have incorporated the idea
There are many methods of populating a surface with particles,
of reference pictures, and Saito and Takahashi use a similar concept,
the G-buffer, to create simplified illustration-type images [11]. Our
such as those described in [15] and [18]. We employ a simple
method that starts with a parametric surface and a desired number
system also uses reference pictures to obtain brush stroke attributes.
of particles. We tessellate the surface into triangles that approximate
In Haeberli’s system brush stroke positions are randomly dis-
the surface. Then, for each triangle, we compute its surface area
tributed, so successive frames of an animation would change ran-
and randomly distribute particles within it. The number of particles
domly. Alternatively, the positions and sizes of brush strokes could
for a triangle is determined by the ratio of its surface area to the
remain constant over the animation, but this creates the “shower
surface area of the entire surface. The particle placer may store
door” effect, because brush strokes are effectively stuck to the view-
additional information with the particles such as color, size, and
plane not to the animating surfaces. The University of Washington
orientation. After the initial particle placement, these additional
illustration systems [12, 17] provide methods for rendering images
attributes or the particles’ positions may be modified by performing
in a pen-and-ink style, but again, the randomness that is employed
various functions on them. Alternatively, the entire particle set can
to achieve the hand-drawn look would cause successive frames to
be generated from a particle system simulation [9].
change randomly.
We solve the temporal randomness problem by using particle
rendering methods. If we treat brush strokes as particles that are
3.2
Specifying and Applying Brush Attributes
stuck to surfaces, we eliminate both the “shower door” effect and
random temporal noisiness. Reeves first presented an algorithm for
In order to render a brush stroke, we need the following attributes:
rendering particles without using traditional 3D models to repre-
image, color, orientation, size, and position.
sent them, instead drawing them as circles and motion-blurred line
The brush image is a color image with alpha. The image may be
segments in screen space [10]. We also render particles in screen
solid or it may contain texture as shown in Figure 4. A single image
space, but use 2d brush stroke shapes instead of circles and line
may be used as is or it may be used to cut a shape from a random
segments.
position in a sheet of texture, providing each brush stroke with
Rendering 2d shapes in screen space is one of the core concepts
unique texture. Although the brush can be a full color image, we
of our work. Fleischer et al. [2] described a similar method, except
typically use monochrome images that are the same in all channels
they place 3d geometric elements on surfaces in model space, which
so that the brush itself does not impart color, just texture.
are then rendered traditionally as geometric textures such as scales,
Orientation, color, and size are either stored with the individ-
feathers, and thorns. The appearance of their 3d shapes compared
ual particles or obtained from reference pictures. If these attributes
to our 2d brush strokes is quite different.
are associated with the particles, then they are used directly by the
Finally, Strassmann presented a technique for modeling brush
renderer; otherwise, the attributes are sampled from reference pic-
strokes as splines for Sumi-E style painting, a Japanese brush-and-
tures which encode information about surface geometry and lighting
ink technique [14].
This system is designed primarily for still
characteristics by screen space location. Reference pictures can be
images, but does provide a simple method for animation. The user
generated in several ways, but typically are rendered images of the
specifies key frames for each brush stroke that are interpolated over
particle set or surface. After a particle’s position is transformed to
time. Our approach is different in that we provide a rendering
screen space, we use the 2d transformed position to look up color,
technique rather than an interactive system and we are emulating a
orientation, and size information in the same 2d location in the ap-
more impressionistic style of painting with short paint dabs rather
propriate reference pictures. Example reference pictures for these
than long graceful strokes.
attributes are shown in Figure 3.
The reference picture used for color information is typically
a smooth-shaded rendered image of the surface with appropriate
3
Painterly Rendering
color attributes and lighting. Texture maps are generally not nec-
essary except to describe broad color changes across the surface.
In this section, we describe our painterly rendering algorithm as
The painterly rendering will provide texture and high frequency
shown in Figure 2.
variations in color.
Particles in
Particle
World Space
Placer
Geometry
Reference Pictures
Camera
Transform
Color
Output Image
Painterly
Shaders
Renderer
Orientation
Size
Brush Image
Figure 3: An example of the painterly rendering pipeline. The particle placer populates a surface with particles. The surface geometry
is rendered using various shaders to create brush stroke attribute reference pictures. Note that the arrows in the orientation image are
representational in this diagram; the orientations are actually encoded in the color channels of the image. The particles, which are transformed
into screen space, the reference pictures, and the brush image are input to the painterly renderer. The renderer looks up brush stroke attributes
in the reference pictures at the screen space location given by each particle’s position and renders brush strokes that are composited into the
final rendered image.
The reference picture that encodes orientation information is
an image made with a specialized shader that encodes surface nor-
mals in the resulting image. This surface normal shader projects
the 3d surface normals into two dimensions along the view vector
or another specified vector. Alternatively, we may constrain orien-
tations to line up with the direction of a surface parameter or texture
coordinate.
Finally, the brush size reference picture is a scalar image that
encodes x and y scaling information. We linearly map the range
of values in the image to the range of user-specified sizes so that
Figure 4: Some brush images used to create the paintings in
the areas with small values are painted with the smallest brushes
this paper.
and the areas with high values are painted with the largest brushes.
Again, we can use lighting, texture maps, or specialized shaders to
achieve the desired look.
Once attributes are applied, brush strokes are composited into the
Brush stroke position comes from the particle’s position in
final rendered image at the position specified by the particle.
screen space. Position may be modified by a function such as
moving it in the direction of a velocity vector or adding noise.
To apply the attributes, the brush image is either used directly or
3.3
Animating Parameters and Randomness
cut from a sheet of texture, multiplied by the color and alpha, scaled
by the size, and rotated to the orientation, each as specified in the
It is possible to animate brush stroke attributes by animating charac-
corresponding reference picture or by data stored with the particle.
teristics of the reference pictures, but it is necessaryfor the reference
Figure 5: Four styles of painterly rendered fruit. By choosing different brush images and painting parameters, we have created four
different looks from the same set of reference pictures. The upper left image has the soft, blended quality of a pastel painting. The pointillistic
version, in the upper right, remaps the original saturations and values from the color reference picture to a new range. A squiggle brush
image and increased hue variation were used to create marker-style strokes in the lower left image. The brush used to create the lower right
contained some opaque black that helps to create a woodcut print style.
pictures to change smoothly over time so that the final rendered im-
ages are not temporally noisy.
Using randomness is important in achieving a hand-crafted look;
therefore, we can randomly perturb the brush stroke attributes based
on user-selected parameters. Figure 6 illustrates the lack of richness
and texture that results when randomness is not used.
To maintain coherence, a seed is stored with each particle so
that the same random perturbations will be used for a particular
particle throughout an animation. The user specifies the amount
of randomness by choosing a range about the given attribute. For
example, we may specify that brush rotations be determined by an
orientation reference picture, but to eliminate the mechanical look
of the brushes lining up perfectly, we specify that we are willing to
have brush orientations fall within the range of -10 to +20 degrees
from the orientation given in the reference picture. The resulting
slightly random orientations give the strokes a more hand-crafted
Figure 6: Applying randomness to brush stroke attributes. This
look.
image was rendered without color, orientation, or scale variation.
Compare it to the images in Figure 1 which were painted with all
of those attributes jittered. Note how the painterly texture of the
4
Results
sky and mountains is dependent on random color variations. In
the haystacks, orientation and scale changes make them look less
Figures 1, 5, and 7 are images rendered using our algorithm that
mechanical in the jittered version.
show a variety of different painterly looks. In Figure 1, we show
frames from a Monet-style haystack animation. The still frames
look like oil paintings and the brush strokes animate smoothly
throughout the animation. The painterly renderer is particularly
concerned with defining exact boundaries and instead let the over-
well-suited to the impressionist style because it composes a paint-
lapping brush strokes create a rhythm that unifies the composition.
ing with many small brush strokes. In this example, we are not
Large brush strokes tend to extend beyond the silhouette edge, cre-
Figure 7: Beach ball animation frames. In this example the beach ball is bouncing, squashing, and stretching from frame to frame. Our
technique works as well for animating objects as for the haystack example where only the camera position is animating.
ating a semi-transparent look that is most apparent when surfaces
implementation provides a skip operation that allows us to render
are animated. We believe this adds to the painterly look. Using
every nth particle. We typically render the surface in two or three
smaller, denser, or more opaque strokes near the edges would create
layers using image processing techniques to shrink the silhouette
a more opaque, solid look. We have used the painterly technique
edge toward the center of the object. The outside layers are painted
of abstraction to depict many of the surfaces in this animation. For
sparsely, while the inside layers are painted thickly. We also use
example, in the sky we used the brush texture and color variation to
image processing techniques to isolate highlight and shadow areas
abstractly depict sweeping clouds. The hay is captured with a brush
to be rendered separately. Building up layers of semi-transparent
stroke texture that shows an appropriate amount of detail. Finally
textured brush strokes, perhaps even rendering the same particle
because our technique uses overlapping 2d brush strokes, we have
multiple times with different brush stroke characteristics, is impor-
avoided the gift-wrapped look of a smooth-edged, texture-mapped
tant in achieving the painterly look. In the haystacks example, the
surface.
haystacks consist of four layers: a rough dark blue underpainting,
In Figure 5, we show a plate of fruit rendered in four styles.
an overall orange layer, a yellow detail layer, and a sparse white
The reference pictures used to create the images were the same for
highlight layer. These layers and how they contribute to the final
all four, with the exception of the orientation image for the lower
image are shown in Figure 8.
right image. The different looks were achieved by varying the brush
We also usually render the objects in a scene as separate layers.
image, the amount of jittering, and the brush size. Of course even
In the haystack example, we painted the sky, mountains, field,
more looks could be created by changing the reference pictures, but
each haystack, and each haystack shadow as a separate layer. This
one of the strengths of the painterly renderer is the richness of the
allowed us to use very large brush strokes on the sky and not worry
user-selectable parameter set. For example the upper right image
about them creeping too far into the mountains. By rendering these
was brightened and desaturated by mapping colors in the color
layers separately, we were better able to use the painting parameters
reference picture to new saturation and value ranges. Conversely,
most appropriate for each layer. The fruit images in Figure 5 were
the colors in the lower right image are richer because the brush
rendered in three layers: the wall, the table, and the plate of fruit.
image contained some opaque black. In this painting, the brush
In this case, because the brush stroke characteristics of each fruit
strokes become the dominant subject of the painting.
were similar, we wanted the brushes strokes to interact as much as
Finally, in Figure 7, we show three frames from an animated
possible to enhance the painterly look.
bouncing ball sequence. Our technique works equally well for
We typically use only one light source to maintain focus in the
an animating, deforming object like the squashing and stretching
composition. We use exaggerated hue as well as value variations to
ball in this example, as for an animated camera as shown in the
distinguish light and shadow areas. For example, the sunset light on
haystacks example. Large brush strokes give the ball an imprecise
the haystacks is emphasized through exaggerated use of orange and
boundary which gives the ball animation a hand-drawn look quite
blue. Shadows may be rendered by compositing a shadow element
different from the mechanical look that a traditionally-rendered
onto the color reference picture and rendering the surface and the
version would have.
shadow at the same time, or shadows may be painted as a separate
layer and composited, giving the user more creative control.
We use many traditional painting techniques such as using back-
5
Discussion and Techniques
ground color in shadow areas to help them recede and juxtaposing
complementary colors, such as the orange and blue of the haystacks,
As with any image creation process, it takes some experimenta-
to create a shimmering light effect. We repeat brush stroke color,
tion to get the desired image. In this section, we describe some
size, and texture in different areas of the scene, as shown in the fruit
of the techniques that we’ve discovered. We begin with our strate-
example, to marry the various elements into a unified composition.
gies for achieving creative images and then present some technical
Users of the painterly renderer are encouraged to examine the nu-
discussion on how we achieve them.
merous existing texts on traditional painting techniques for more
possibilities.
5.1
Creative Techniques
5.2
Technical Considerations
We have discovered many techniques for rendering aesthetically
pleasing images. Chief among these is separately rendering subsets
If reference pictures are used, it is often helpful to “grow” the
of the particle set and compositing these layers into a finished image.
reference image outward using image processing techniques, so
We find that our most successful images are created using traditional
that when we look up particular screen locations we don’t fall off
painting methods such as creating a rough value underpainting with
the edge of the surface onto anti-aliased or unrendered parts of the
large brush strokes, adding layers of color to define the form, and
image. This is applicable only if we are rendering layers separately
then adding small brush strokes where we want more detail. Our
and then compositing them afterwards. To ensure that individual
surface animates. To achieve this, we have specified our desired
orientations with respect to the (u, v) surface parameters in texture
maps. A special shader looks up values in the maps and then ap-
plies the camera transformation to them to obtain the screen space
orientation that is output to the reference picture.
Brush stroke attributes may be stored with the particles or en-
coded in reference pictures. An advantage to storing attributes with
the particles is that we avoid aliasing errors looking up values in
reference pictures. An advantage to using reference pictures is
that they are usually quickly rendered and thus easily changed and
can encode more complex lighting information. Storing attributes
with particles is better for those that are unlikely to change because
rerunning the particle placement or simulation may be costly. In
practice, a mixture of the two methods works well.
At first glance, one might suggest we not render back-facing
particles, but this is very important in animation since particles will
pop on and off as they become visible and invisible if we cull the
back-facing ones. If we always render them, however, they will
be revealed gradually as they become visible. Front-Facing brush
strokes must be dense enough to obscure back-facing particles,
unless a translucent effect is desired. In practice, we find that we
do not always want to render a completely opaque object if we are
building up textured layers of paint, but we also do not want to
see through to the back-facing brush strokes if they are animating.
In this case, we do cull back-facing particles, letting them fade in
as they get close to front-facing to eliminate the popping effect
as particles come into view. This was necessary in the haystack
example so that as the view animates, we do not see the back side
of each sparse layer through the front.
One should also note that because particles are sorted by distance
from the viewpoint at each frame, there will be some popping of
brush strokes in front or behind one another as particles animate,
but with some attention to brush stroke size and translucency, this
effect is not visually problematic and can add to the painterly effect.
6
Future Directions
Although our use of the renderer thus far has been to create im-
ages that are entirely painted, we can imagine incorporating this
look with traditional rendering methods. For example, when artists
Figure 8: Compositing a haystack from several layers. Each
depict foliage, they don’t paint every leaf. Instead, they use brush
layer of the haystack is shown by itself on the left while its con-
strokes to abstractly represent the leaves. Certainly particle render-
tribution to the composited image is shown on the right. We used
ing methods have been used for this purpose before [10], but we
image processing techniques on the color reference picture to isolate
believe our technique can eliminate complex modeling issues such
the shadow and highlight areas to be painted separately. Following
as generating realistic tree models made of particles, and that the
traditional painting techniques, we created a dark blue underpaint-
level of control we provide for achieving different looks will prove
ing of the shadow areas as shown in the top row. The next layer
to be a more powerful but easier-to-use tool. We foresee using this
provides most of the color and texture of the haystack, but allows
method to render surfaces that are difficult to model and render
some of the blue underpainting to show through. The bottom two
using traditional geometry and texture maps. This class of objects,
rows show two separate detailed highlight layers and a final shadow
which includes many of those found in nature, must be abstracted
layer that helps integrate the haystack with the field. For each layer,
when rendered because of their high complexity.
we changed the brush size and the amount of color variation.
Our renderer does not handle changing object sizes in an auto-
mated way. We can address this issue with staging or by animating
the brush size reference picture; however, it would be helpful if
brush strokes do not jitter in size and orientation slightly with every
the renderer could automate brush stroke size based on the screen
frame, it is also useful to blur the orientation and size images slightly.
surface covered, and then change the size smoothly as the object
Perfect particle placement and sub-pixel sampling would eliminate
changes size using multi-resolution techniques such as those used
the need for these steps, but we have found that these techniques
by [1].
work well in practice.
We would like to use a better particle placement method that
The simple surface normal shader that we described previously
covers both the geometric surface and screen space more evenly.
provides surface normal information based on a particular orienta-
While we can address this situation with the layer rendering tech-
tion of the surface after it has been through a camera transformation.
nique described above, this is not always satisfactory and also re-
But as a surface animates, so does its orientation with respect to the
quires active intervention by the user. Metric tensor techniques [18]
camera. This gives a particular look, but we prefer to have brush
could be used to specify particle density for surfaces that do not rad-
strokes oriented with respect to the surface and not change as the
ically change their orientation with respect to the viewpoint within
an animation, but other multi-resolution methods might be required
[7] Martin E. Newell, R. G. Newell, and T. L. Sancha. A solution
for those surfaces that do change orientation.
to the hidden surface problem. In Proc. ACM Nat. Mtg. 1972.
Finally, although we are unlimited in brush stroke shape, we
[8] Parallax Software Limited. Matador Paint System. London,
find a rectangular or oval shape works best to show changes in
1995.
orientation, but these shapes stick out along the edges of curved
surfaces. We would like to implement longer, deformable brushes
[9] W. T. Reeves. Particle systems – a technique for modeling a
than can follow curves on a surface.
class of fuzzy objects. ACM Trans. Graphics, 2:91–108, April
1983.
[10] William T. Reeves and Ricki Blau. Approximate and proba-
7
Conclusions
bilistic algorithms for shading and rendering structured par-
ticle systems. In Computer Graphics (SIGGRAPH ’85 Pro-
We have presented a new technique for rendering animations in a
ceedings), volume 19, pages 313–322, July 1985.
painterly style. Our work has brought together two previous ren-
[11] Takafumi Saito and Tokiichiro Takahashi. Comprehensible
dering methods: using reference pictures to define 2d brush stroke
rendering of 3-D shapes. In Computer Graphics (SIGGRAPH
attributes and using particles to define the locations where brush
’90 Proceedings), volume 24, pages 197–206, August 1990.
strokes will be rendered. Our algorithm solves the two major prob-
lems of rendering animations with previous painterly techniques.
[12] Michael P. Salisbury, Sean E. Anderson, Ronen Barzel, and
First, images created by our renderer are coherent over time and
David H. Salesin. Interactive pen–and–ink illustration. In Pro-
do not exhibit random frame-by-frame changes. Second, brush
ceedings of SIGGRAPH ’94 (Orlando, Florida, July 24–29,
strokes stick to animating surfaces, not to the viewplane, thus elim-
1994), Computer Graphics Proceedings, Annual Conference
inating the “shower door” effect. We have illustrated our algorithm
Series, pages 101–108. ACM SIGGRAPH, ACM Press, July
with images that have painterly qualities such as exaggerated use
1994.
of light, broken silhouette edges that create rhythm, brush stroke
[13] S. Allyn Schaeffer. The Big Book of Painting Nature in Oil.
textures and sizes that describe surface qualities, and abstracting
Watson-Guptill Publications, 1991.
the subject to strengthen and unify the composition.
[14] Steve Strassmann. Hairy brushes. In Computer Graphics
(SIGGRAPH ’86 Proceedings), volume 20, pages 225–232,
8
Acknowledgments
August 1986.
[15] Richard Szeliski and David Tonnesen. Surface modeling with
Many thanks to Ken Hahn, Scott Johnston, Jason Herschaft, and
oriented particle systems. In Computer Graphics (SIGGRAPH
Craig Thayer for turning the painterly renderer prototype into a pro-
’92 Proceedings), volume 26, pages 185–194, July 1992.
duction program, contributing many new ideas and features along
[16] Frank Thomas and Ollie Johnston. Disney Animation–The
the way. Ken Hahn also wrote the particle placer and went beyond
Illusion of Life. Abbeville Press, 1981.
the call of duty to make many last minute bug fixes. Thanks to Dave
Mullins and Andrea Losch for modeling and rendering support,
[17] Georges Winkenbach and David H. Salesin.
Computer–
Craig Thayer and Scott Johnston for valuable comments on early
generated pen–and–ink illustration. In Proceedings of SIG-
drafts of the paper, and Nancy Smith for video production support.
GRAPH ’94 (Orlando, Florida, July 24–29, 1994), Computer
We are grateful to Al Barr and Scott Fraser of Caltech and to Ham-
Graphics Proceedings, Annual Conference Series, pages 91–
merhead Productions for providing production facilities. Finally,
100. ACM SIGGRAPH, ACM Press, July 1994.
many thanks to David Laidlaw for technical discussions about the
[18] Andrew P. Witkin and Paul S. Heckbert. Using particles to
painterly renderer, extensive paper reviews, diagrams, many hours
sample and control implicit surfaces. In Proceedings of SIG-
of paper production support, and help coping with my pregnancy
GRAPH ’94 (Orlando, Florida, July 24–29, 1994), Computer
madness.
Graphics Proceedings, Annual Conference Series, pages 269–
278. ACM SIGGRAPH, ACM Press, July 1994.
References
[1] Deborah F. Berman, Jason T. Bartell, and David H. Salesin.
Multiresolution painting and compositing. In Proceedings of
SIGGRAPH ’94 (Orlando, Florida, July 24–29, 1994), Com-
puter Graphics Proceedings, Annual Conference Series, pages
85–90. ACM SIGGRAPH, ACM Press, July 1994.
[2] Kurt W. Fleischer, David H. Laidlaw, Bena L. Currin, and
Alan H. Barr. Cellular texture generation. In SIGGRAPH 95
Conference Proceedings, Annual Conference Series, pages
239–248. ACM SIGGRAPH, Addison Wesley, August 1995.
[3] Fractal Design Corporation. Fractal Design Sketcher. Aptos,
California, 1993.
[4] Paul E. Haeberli. Paint by numbers: Abstract image represen-
tations. In Computer Graphics (SIGGRAPH ’90 Proceedings),
volume 24, pages 207–214, August 1990.
[5] Carole Katchen. Creative Painting with Pastel. North Light
Books, 1990.
[6] Gregg Kreutz. Problem Solving for Oil Painters. Watson-
Guptill Publications, 1986.