npr today
Download
Skip this Video
Download Presentation
NPR Today

Loading in 2 Seconds...

play fullscreen
1 / 57

NPR Today - PowerPoint PPT Presentation


  • 390 Views
  • Uploaded on

NPR Today “Stylized Rendering Techniques for Scalable Real-Time 3D Animation”, Adam Lake, Carl Marshall, Mark Harris and Marc Blackstein, NPAR 2001 "Computer-Generated Pen-and-Ink Illustration of Trees", Oliver Deussen and Thomas Strothotte, SIGGRAPH 2000

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'NPR Today' - Gabriel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
npr today
NPR Today
  • “Stylized Rendering Techniques for Scalable Real-Time 3D Animation”, Adam Lake, Carl Marshall, Mark Harris and Marc Blackstein, NPAR 2001
  • "Computer-Generated Pen-and-Ink Illustration of Trees", Oliver Deussen and Thomas Strothotte, SIGGRAPH 2000
  • "Sketchy Drawings", Marc Nienhaus and Jurgen Dollner, AfriGraph 2004

© 2005 University of Wisconsin

stylized rendering techniques for scalable real time 3d animation

Stylized Rendering Techniques for Scalable Real-Time 3D Animation

Paper Overview

Leo Chao

© 2005 University of Wisconsin

paper information
Paper Information
  • Published
    • NPAR 2001
      • (Non-Photorealistic Animation and Rendering)
    • Authors
      • Adam Lake
      • Carl Marshall
      • Mark Harris
      • Marc Blackstein
  • Graphics Algorithms and 3D Technologies Group
    • Intel Architecture Labs
  • UNC – Chapel Hill

© 2005 University of Wisconsin

paper information4
Paper Information
  • Prior Work
    • No novel techniques, adapts from prior works to hardware
  • Motion Lines
    • Maic Masuch. “Speedlines: Depicting Motion in Motionless Pictures.” ACM SIGGRAPH 99 Technical sketch.
    • Siu Chi Hsu and Irene H. H. Lee. "Drawing and Animation using Skeletal Strokes". In Proceedings of ACM SIGGRAPH 94, pages 109-118. 1994.
  • Silhouette Edges
    • Lee Markosian, Michael Kowalski, Samuel Trychi, Lubomir Bourdev, Daniel Goldstein, and John Hughes. Real-Time Nonphotorealistic Rendering. In Proceedings of ACM SIGGRAPH 97, pages 113-122. 1997.
  • Cartoon Shading
    • Philippe Decaudin. Rendu de scenes 3D imitant le style dessin anime. Rapport de Recherche 2919, Institut National de Recherche en Informatique et en Automatique. 1996.

© 2005 University of Wisconsin

contributions
Contributions
  • Hardware Implementation of NPR Techniques
    • Stylistic Shading
      • Cartoon Shading
      • Pencil Sketch Shading
    • Stylistic Inking
      • Silhouette Edge Detection
      • Stylized Silhouette Rendering
    • Motion Lines

© 2005 University of Wisconsin

stylistic shading
Stylistic Shading
  • Fundamentals
    • Preprocess colour textures
    • Render as normal
    • Except:
      • Modify lighting/shading calculations
      • May require texture coordinate processing
  • “Painter” – Modified Shading Step
    • Cartoon Shading
    • Pencil Sketch Shading

© 2005 University of Wisconsin

stylistic shading7
Stylistic Shading
  • Cartoon Shading
    • Reducing detail aids comprehension
    • No Smooth Shading
      • Color Reduction
      • Hard Transitions
  • Variants Simple

© 2005 University of Wisconsin

stylistic shading8
Stylistic Shading

© 2005 University of Wisconsin

stylistic shading9
Stylistic Shading
  • ALGORITHM Cartoon Shade
  • Preprocess:
  • Calculate the illuminated diffuse color for each material:
  • 2. Calculate the shadowed diffuse color:
  • 3. For each material, create a texture with two colors
  • - u=1 is coloured Ci
  • - u=0 is coloured Cs

Ci Vertex Color Cs Shadow Diffuse Color

al Light Ambient dl Light Diffuse

am Material Ambientdm Material Diffuse

ag Coefficient of Global Ambient Lighting

© 2005 University of Wisconsin

stylistic shading10
Stylistic Shading
  • ALGORITHM Cartoon Shade
  • Runtime:
  • Calculate the one-dimensional texture coordinate at each vertex
  • 2. Render the model using a standard graphics API
  • - Lighting disabled
  • - Enable texture mapping

L normalized light vector

n unit surface normal

© 2005 University of Wisconsin

stylistic shading11
Stylistic Shading
  • Pencil Sketch Shading
    • Extends cartoon shading to 2D textures
    • Extends cartoon shading to multiple textures
    • Multiple textures to represent light density
    • Associate texture coordinates
      • Project texture from the viewport onto the model

© 2005 University of Wisconsin

stylistic shading12
Stylistic Shading

© 2005 University of Wisconsin

stylistic inking
Stylistic Inking
  • Fundamentals
    • Identify “important” edges
      • Silhouette
      • Border
      • Crease
    • Modify drawing of these edges
  • “Inker” – Modified Line Drawing
    • Visually important edge detection
    • Stylized edge drawing

© 2005 University of Wisconsin

stylized inking
Stylized Inking
  • Visually important edge detection
    • Silhouettes
      • Front-Face and Back-Face share an edge
    • Borders
      • Edge shared by two materials
      • Unshared polygon edge
    • Creases
      • Large dihedral angle between polygons

© 2005 University of Wisconsin

stylized inking15
Stylized Inking

© 2005 University of Wisconsin

stylized inking16
Stylized Inking
  • ALGORITHM SED
  • Preprocess:
  • Create edge-list structure with Edge Type flags
    • Create a unique edge list using a hash table.
    • Edge Hash Function: sum the two vertex indices
    • Border Flag
      • Edges with only one neighboring face
      • Two neighboring faces with different materials
    • Set crease flags
      • Non-deformable geometry
      • Dihedral angle of two faces > threshold

© 2005 University of Wisconsin

stylized inking17
Stylized Inking
  • ALGORITHM SED
  • Runtime:
  • For deformable meshes:
    • Calculate face normals
    • Detect crease edges from face normals
    • Set Crease Edge flags
  • 2. Detect silhouette edges
  • a.

© 2005 University of Wisconsin

stylized inking18
Stylized Inking
  • Stylized “Important” Lines
    • Emphasis on these lines
    • Option 1: Straight Line
      • Fast/Easy
    • Option 2: Texture Maps
      • “Artistic” Style
      • Curvature driven “strokes”
      • Involves a graph driven search
      • This is a HACK

© 2005 University of Wisconsin

stylized inking19
Stylized Inking

© 2005 University of Wisconsin

motion lines
Motion Lines
  • Gives the appearance of motion
  • For fast moving objects
  • Simple algorithm
  • Not much overhead
    • One circular buffer to maintain position data

© 2005 University of Wisconsin

performance
Performance
  • Claim: Maintain Real-Time Speeds
    • 30 fps, in 2001
  • Tests:
    • Integrated with a level of detail scheme
    • Altered model complexity to maintain FPS

© 2005 University of Wisconsin

performance22
Performance

© 2005 University of Wisconsin

future work
Future Work
  • Inker
    • Better “artistic” lines
  • Painter
    • Pencil sketch “doesn’t look right”
    • Follow surface gradient perhaps
  • Incorporate other NPR techniques
    • Those used by artists
    • Doesn’t say which would amenable

© 2005 University of Wisconsin

questions
Questions?
  • ques·tion    (kw s ch n)n.
    • An expression of inquiry that invites or calls for a reply.
  • heck·le   (h k l)tr.v.
    • To try to embarrass and annoy (someone speaking or performing in public) by questions, gibes, or objections

© 2005 University of Wisconsin

computer generated pen and ink illustration of trees siggraph 2000

“Computer-Generated Pen-and-Ink Illustration of Trees”(SIGGRAPH 2000)

Oliver Deussen

Thomas Strothotte

© 2005 University of Wisconsin

motivation
Motivation
  • The paper presents a method for creating pen-and-ink-like illustrations from detailed geometric models.
  • Motivated by the need for illustrative representations of plant life in architectural and landscape renderings.
  • We want to be able to produce images similar to this:

© 2005 University of Wisconsin

related work
Related Work
  • “Cartoon Tree” – Alvay Ray Smith
    • Use small disks to represent bunches of leaves
  • Reeves and Blau
    • Use structured particle system to represent realistic trees.
  • Kowalski et al.
    • Two step process
      • Render shaded primitives that approximate foliage
      • Overlay graftals on rendered image using Salisbury’s line drawing method

© 2005 University of Wisconsin

related work examples
Related Work Examples
  • Smith’s “cartoon tree”:
  • Kowalski’s Graftal Trees:
  • Reeves “particle forest”:

© 2005 University of Wisconsin

traditional illustration of trees
Traditional Illustration of Trees
  • The Skeleton is drawn up to the second level of branching.
  • Foliage is broken up into three parts:
    • The directly lit canopy – represented by outlines and scarce inner detail
    • The half shadow – greater detail provides an overall darker grey level
    • The shaded area – achieved by thicker lines or drawing leaves in black
  • Artists will general use a combination of these to draw the leaves. Rarely do they use all three.

© 2005 University of Wisconsin

drawing the skeleton
Drawing the Skeleton
  • The tree skeleton is represented by generalized cylinders.
  • Analytical Silhouette Algorithms
    • Markosian et al.
    • Rakar and Cohen
    • Depth Differences
  • The skeleton is shaded with crosshatch marks. Marks could be placed using the algorithm outlined by Salisbury et al.
    • The authors actually use a variant of Floyd-Steinberg diffusion that places strokes when the accumulated grey value is above a threshold.

© 2005 University of Wisconsin

drawing the foliage
Drawing the Foliage
  • The xfrog modeling system can generate models with 200,000 leaves on a tree. We want to pair this down to 10,000 or so.
  • Leaves are represented abstractly by particles: a location and an orientation vector.
  • The goal is to illustrate groups of with a set of strokes.
  • Idea: Render particles as primitives and use depth buffer information to determine which leaves are spatially close and outline them.

© 2005 University of Wisconsin

depth differences
Depth Differences
  • Initially, each particle is rendered with a view-facing primitive, such as a disk.
  • Basic Algorithm:
    • For each pixel compute the maximum positive difference between it and its neighbors
      • If the distance is above the given threshold, mark as an edge.

© 2005 University of Wisconsin

depth differences continued
Depth Differences Continued…
  • The threshold and primitive size can be varied to achieve different effects:

Primitive size: 0.15 Primitive size: 0.70

Threshold: 1000 Threshold: 2000

  • The threshold can be varied using other buffers, achieving greater detail in areas that results in a shadowing effect:

© 2005 University of Wisconsin

abstract drawing primitives
Abstract Drawing Primitives
  • More realistic leaves can be achieved by using the particles’ orientation vectors to interpolate between a set of polygons that represent leaves from different views

© 2005 University of Wisconsin

level of abstraction
Level-of-Abstraction
  • Two Approaches
  • Convert raw z-buffer values from non-linear, projected values to linear values using formula below and vary threshold according to depth:

d: depth value between 0 and 1

d0: minimal depth value (e.g. 0)

d1: maximal depth value (e.g. 65535)

z0: depth value of near clipping plane

z1: depth value of far clipping plane

  • Take advantage of the non-linearity to automatically generate more abstract representations.
  • Geometry farther away will be pushed into fewer values in the z-buffer.
  • A tree in the background will represented by fewer strokes than the same tree in the foreground.

© 2005 University of Wisconsin

level of abstraction continued
Level of Abstraction Continued…
  • The level-of-abstraction can be furthered by scaling the primitives so that the amount of screen space they occupy is independent of their depth.

r: scaling factor

d: desired screen space

s: actual screen space

No ScalingScaled

© 2005 University of Wisconsin

software implementation
Software Implementation
  • Calculate depth differences and mark pixels above threshold.
    • In the interactive mode this bitmap is directly used and blended with other geometry.
  • Generate shadows in software. Large number of isolated surfaces precludes hardware implementation.
  • Vectorize bitmap using least squares fitting or primitive identification method.
    • Draw lines using spline interpolation
    • Apply line styles

© 2005 University of Wisconsin

results
Results

© 2005 University of Wisconsin

future work40
Future Work
  • Apply cross-hatch shading to the leaves
  • Create a continuous level-of-detail algorithm that stays performance while getting rid of artifacts that come with discrete representations.
  • Apply new styles and color for cartoons.
  • Questions?

© 2005 University of Wisconsin

slide42
Sketchy Drawings

Marc Niehaus Jürgen Döllner

University of Potsdam University of Potsdam

sketchy drawings
Sketchy Drawings
  • Sketchiness shows unfinished state
  • Useful for architectural and product design
previous work
Previous Work
  • G-Buffers (Saito & Takahashi 1990)
  • Edge enhancement (Nienhaus and Döllner 2003)
  • Loose and Sketchy filter (Curtis 1998)
  • Artistic Strokes (Northrup & Markosian 2000)
algorithm overview
Algorithm Overview
  • Obtain edge and shading data
  • Perturb this data to get sketchy look
  • Problem: It needs to be done in real time
g buffers
G-Buffers
  • Need to access in real time
  • Depth/Color/Alpha/Stencil Buffer on graphics card
  • Textures
  • Current hardware allows multiple textures
  • Manipulate with fragment and pixel shaders
edge map
Edge Map
  • Need to find edges for most NPR algorithms
  • Store three types of edges
    • Silhouette
    • Crease
    • Border
  • See Edge Enhancement (Nienhaus & Döllner 2003 )for more details
shade map
Shade Map
  • Render unlit 3D geometry to capture flat colors
  • Store results in screen aligned texture instead of color buffer
adding uncertainty
Adding Uncertainty
  • Apply uncertainty function to edge and shade maps
  • Store function in texture
  • Use Perlin function to get frame to frame consistency
  • Multiply uncertainty values with 2x2 matrix
  • Use different matrix for edge and shade maps to get a more sketchy feel
end result
End Result
  • Use shaders to combine results into texture
  • Render texture on screen-aligned quad
style variations
Style Variations
  • Render edges multiple times
  • Roughen edge and surface colors
issues
Issues
  • Depth Information
  • Shower-Door Effect
updating depth info
Updating Depth Info
  • Depth info is lost when rendering 3D geometry to 2D textures
  • Solution: Render geometry into a depth map
  • Render perturbed depth sprite
    • use shaders to update depth buffer
  • Need to account for both edge and shade map
    • take min value and use this for depth
shower door effect
Shower-Door Effect
  • When model moves, edges tend to swim around
  • Need to account for geometrical data
  • Also want to keep uncertainty past geometry edges
  • Solution: Render geometry info into another G-Buffer
  • Use geometry as a parameter to the noise function
ad