230 likes | 402 Views
Non-Photorealistic Rendering. Mike Wade April 22, 1999. What is Non-Photorealistic Rendering?. Produces images which are non-photorealistic “NPR”. Why NPR?. Sometimes we don’t need/want photographs or rendered images Photographs, renderings might be too “good”
E N D
Non-Photorealistic Rendering Mike Wade April 22, 1999
What is Non-Photorealistic Rendering? • Produces images which are non-photorealistic • “NPR”
Why NPR? • Sometimes we don’t need/want photographs or rendered images • Photographs, renderings might be too “good” • Hand-drawn/painted animations are more energetic
How? • Pen and Ink • Toon shading • Painterly Rendering
Paint By Numbers:Abstract Image Representations Paul Haeberli SIGGRAPH 1990
Goal • Convert synthetic or natural scene into impressionistic image • Created an interactive painting program • Painting: an ordered list of brush strokes • User could define: • location, color, size, direction, shape
Two Approaches to Animation • Generate a new sequence of stroke attributes for each frame • Coherent? • Create single array of brush strokes • Move scene behind that array • “Shower Door” effect
Painterly Rendering for Animation Barbara J. Meier SIGGRAPH 1996
Goal • Eliminate “shower door” • but not too much
“Particle System Approach” • Particle set represents geometry of a surface • Particles are rendered as 2d brush strokes
Generating Particle Set • Surface is known • Decompose into triangles that represent surface • Randomly distribute particles into triangles
Particles Rendered Painterly • Based upon particle: • orientation • color • size • position • Transformed to screen space • Furthest from viewpoint rendered first
Animation • Keep track of where the particles move • Draw each frame as above
Maintaining Hand-drawedness • Use randomness • perturb brush stroke attributes • user defined • use same randomness for each frame for each particle in animation
Processing Images and Video for An Impressionistic Effect Peter Litwinowicz SIGGRAPH 1997
Goal • Automatically generate impressionistic animations from video
Generating Strokes • Strokes have: • position • length • radius • orientation • color
Injecting randomness • Used to create hand-drawn look • All previous stroke attributes may be slightly perturbed • Also: order drawn • User-defined limits
Stroke Clipping • Used to show edges 1) Convert to grayscale, blur 2) Find the edges 3) Grow stroke from center until reaches an edge • Fall-off so the stroke is not perfect
Orientation • May use a “fixed” orientation for stroke • Or: Angle lines normal to gradient of intensity image • Be careful with small gradients
Rendering Video • First frame: as described above • Optical flow is used to find subsequent stroke centers
Optical Flow • Avoid sparseness in image • Add stroke centers • DeLaunay triangulation • Mix new strokes in with old • Avoid clumping • Remove strokes which are “too close”