painterly rendering for animation barbara j. meier walt disney feature animation siggraph 96
TRANSCRIPT
Painterly Rendering for Painterly Rendering for AnimationAnimation
Barbara J. MeierBarbara J. Meier
Walt Disney Feature AnimationWalt Disney Feature Animation
SIGGRAPH 96SIGGRAPH 96
IntroductionIntroduction
• Motivation: render animations in a painterly style
• Goals– Eliminate “shower door” effect– Provide frame-to-frame coherence
Painting ConceptsPainting Concepts
• Character of brush strokes
• Creating areas of interest– Exaggerate lighting– Vary level of detail– Vary brush stroke size, texture and direction
provide rhythm to direct the viewer’s eye
• Vary object edge definition
Painterly Rendering ConceptsPainterly Rendering Concepts
• Stills should look like paintings– Details abstracted by shorthand strokes– Roundness conveyed by stroke direction– Color should break boundaries of the object
• Objects should not have “gift-wrapped” appearance
• Provide an energetic quality lacking in standard rendering
Related WorkRelated Work• Paint by Numbers
– Obtain images from a collection of brush strokes and get their position, color, size, and orientation from reference images
• Hairy Brushes– Models brush strokes with
splines and accounts for trajectory of position and pressure, dip and composition of the brush
[Haeberli 1990]
[Strassman 1986]
Painterly Rendering for AnimationPainterly Rendering for Animation
• To maintain frame-to-frame coherence, represent object surfaces with points and map strokes to these points
Painterly Rendering for AnimationPainterly Rendering for Animation
create particles to represent geometryfor each frame of animation
create reference pictures using geometry, surfaceattributes, and lightingtransform particles based on animation parameterssort particles by distance from viewpointfor each particle, starting with furthest from viewpoint
transform particle to screen spacedetermine brush stroke attributes from
reference pictures or particles and randomlyperturb them based on user-selected
parameterscomposite brush stroke into paint buffer
end (for each particle)end (for each frame)
Generating ParticlesGenerating Particles
• Start with parametric surface and n particles
• Tessellate to triangle mesh
• Distribute pn particles within each triangle
• Optional: store additional information with the particles such as color, size, and orientation
• Optional: perturb points by some function
Specifying and Applying Brush Specifying and Applying Brush AttributesAttributes
• Each brush stroke must have an image, color, orientation, size, and position.
• Image: color image
with alpha, typically
uniform in all channels
• Orientation, size and color: obtained
from attributes in particles or
reference image
Reference PicturesReference Pictures
• Encode information about surface geometry and lighting
• Typically rendered images of particle set or geometry
• Color reference: smooth-shaded with lighting
• Orientation reference: normals encoded in color channels
• Size reference: scalar values linearly interpolated from user specified range
Animating Parameters and Animating Parameters and RandomnessRandomness
• Randomness is important to achieve natural look in the painting
• Perturb stroke positions and orientations
• Image must maintain temporal coherence
• Solution: associate seed with particles
Creative TechniquesCreative Techniques
• Render subsets of particles in layers– Rough underpainting with large strokes– Small strokes to convey detail– Layers of color to define form
• Use image processing to isolate highlights and shadows for separate layers
• Add several semi-transparent strokes to the same particle to achieve painterly look
• Render objects as separate layers
Creative TechniquesCreative Techniques
• Use one light source to maintain focus in the composition
• Use exaggerated hue and value variations to distinguish light and shadow area
Technical ConsiderationsTechnical Considerations
• Use image processing techniques to “grow” out the object in the reference image to prevent looking up into unrendered or anti-aliased regions
• Blur orientation and size reference images slightly to prevent jittering from frame to frame
• Encode orientation in relation to the surface (u,v) position, not orientation after camera transformation
Technical ConsiderationsTechnical Considerations
• Storing attributes in the particles prevents aliasing problems from looking up values in the reference images
• Back-facing particles must be rendered to prevent popping as orientation changes
• Particles are depth-sorted, so strokes will pop, but the effect can be minimized by careful selection of brush stroke size and transparency
Future WorkFuture Work
• Incorporate painterly rendering into traditional scenes
• Handle object size changes and deformation in an automated manner
• Better particle placement in relation to both geometry and screen space
• Implement longer, deformable brushes that can follow curves
ConclusionConclusion
• Brought together two previous rendering methods– Using reference images to define 2d brush stroke
attributes– Using particles to define locations of brush strokes
• Solved two problems of previous painterly rendering techniques– Images are coherent over time– Brush strokes stick to geometric surfaces, not the
view-plane