painterly rendering for animation barbara j. meier walt disney feature animation siggraph 96

22
Painterly Rendering Painterly Rendering for Animation for Animation Barbara J. Meier Barbara J. Meier Walt Disney Feature Walt Disney Feature Animation Animation SIGGRAPH 96 SIGGRAPH 96

Upload: hector-mclaughlin

Post on 22-Dec-2015

258 views

Category:

Documents


1 download

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

OverviewOverview

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

ResultsResults

ResultsResults

ResultsResults

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

LayeringLayering

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