03/30/05© 2005 University of Wisconsin NPR Today “Stylized Rendering Techniques for Scalable Real-Time 3D Animation”, Adam Lake, Carl Marshall, Mark Harris.

Slides:



Advertisements
Similar presentations
Computer graphics & visualization Real-Time Pencil Rendering Marc Treib.
Advertisements

Saito, T. and Takahashi, T. Comprehensible Rendering of 3-D Shapes Proc. of SIGGRAPH '90 Genesis of Image Space NPR.
Exploration of bump, parallax, relief and displacement mapping
Graphics Pipeline.
Computer graphics & visualization Global Illumination Effects.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
Non-Photorealistic Rendering: Toon Shading David Luebke University of Virginia.
Non-Photo Realistic Rendering Jian Huang CS594 Fall 2003 This set of slides are modified from the NPR Course during SIGGRAPH’2003.
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
(conventional Cartesian reference system)
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
NPR - 2D to 3D, painting and rendering Daniel Teece Walt Disney Feature Animation Daniel Teece Walt Disney Feature Animation
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie Non-Photorealistic Rendering Techniques for a Game Engine COMP 238 Final Project.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Non-photorealistic Rendering Pablo Picasso - The Bird Cage No electrons were harmed during the production of this presentation.
Non-Photorealistic Rendering Greg Turk College of Computing and GVU Center.
Non-Photorealistic Rendering - This is the attempt to make a realistic scene or object look as if it were hand drawn.
Week 14 - Wednesday.  What did we talk about last time?  Collision handling  Collision detection  Collision determination  Collision response  BSPs.
Computer Graphics Shadows
Art-Based Rendering of Fur, Grass, and Trees Michael A. Kowalski, Lee Markosian, J.D. Northrup, Lubomir Bourdev, Ronen Barzel.
Computer-Generated Pen- and-Ink Illustration Georges Winkenbach, David H. Salesin.
04/04/05© 2005 University of Wisconsin NPR Today "Processing Images and Video for an Impressionist Effect", Peter Litwinowicz, Proceedings of SIGGRAPH.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
Computer-Generated Pen-and-Ink Illustration of Trees Oliver Deussen & Thomas Strothotte University of Magdeburg.
Cel Shading Jason McCollum. Overview Nonphotorealistic Rendering (NPR) Cel-shading Concepts Demonstration.
Efficient Rendering of Local Subsurface Scattering Tom Mertens 1, Jan Kautz 2, Philippe Bekaert 1, Frank Van Reeth 1, Hans-Peter Seidel
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
Paint By Numbers The goal of a visual artist (Hagen): Without modeling detail, painters use brush strokes to: –Represent objects –Direct attention The.
3D animation is rendered clip of animated 3D objects in a 3D environment. An example: Examples of movies released in 3D are Toy Story, Cars, Shrek, Wall-E,
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Non-Photorealistic Rendering: Toon Shading David Luebke University of Virginia.
03/28/03© 2005 University of Wisconsin NPR Today “Comprehensible Rendering of 3-D Shapes”, Takafumi Saito and Tokiichiro Takahashi, SIGGRAPH 1990 “Painterly.
Realtime NPR Toon and Pencil Shading Joel Jorgensen May 4, 2010.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Ramesh Raskar University of North Carolina at Chapel Hill Ramesh Raskar University of North Carolina at Chapel Hill Image Precision Silhouette Edges Michael.
Orientable Textures for Image- Based Pen-And-Ink Illustration Michael P. Salisbury Michael T. Wong John F. Hughes David A. Salesin SIGGRAPH 1997 Andrea.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Computer-Generated Pen-and-Ink Illustration of Trees Oliver Deussen Thomas Strothotte University of Magdeburg.
A Very Brief Overview of Non-Photorealistic Rendering Conrad Albrecht-Buehler Graduate Thesis Seminar September 24, 2001.
Local Illumination and Shading
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Non-Photorealistic Rendering CS 446: Real-Time Rendering & Game Technology David Luebke University of Virginia.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Working Group « Pre-Filtering »
- Introduction - Graphics Pipeline
Real-Time Soft Shadows with Adaptive Light Source Sampling
Non-Photorealistic Rendering Techniques for a Game Engine
Cel Shading Jason McCollum.
CS-378: Game Technology Lecture #4: Texture and Other Maps
Presentation transcript:

03/30/05© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Stylized Rendering Techniques for Scalable Real- Time 3D Animation Paper Overview Leo Chao

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin 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 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 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

03/30/03© 2005 University of Wisconsin Contributions Hardware Implementation of NPR Techniques –Stylistic Shading Cartoon Shading Pencil Sketch Shading –Stylistic Inking Silhouette Edge Detection Stylized Silhouette Rendering –Motion Lines

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Stylistic Shading Cartoon Shading –Reducing detail aids comprehension –No Smooth Shading Color Reduction Hard Transitions Variants Simple

03/30/03© 2005 University of Wisconsin Stylistic Shading

03/30/03© 2005 University of Wisconsin ALGORITHM Cartoon Shade Preprocess: 1.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 C i - u=0 is coloured C s Stylistic Shading C i Vertex Color Cs Shadow Diffuse Color a l Light Ambient d l Light Diffuse a m Material Ambient d m Material Diffuse a g Coefficient of Global Ambient Lighting

03/30/03© 2005 University of Wisconsin ALGORITHM Cartoon Shade Runtime: 1.Calculate the one-dimensional texture coordinate at each vertex 2. Render the model using a standard graphics API - Lighting disabled - Enable texture mapping Stylistic Shading L normalized light vector n unit surface normal

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Stylistic Shading

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Stylized Inking

03/30/03© 2005 University of Wisconsin Stylized Inking ALGORITHM SED Preprocess: 1.Create edge-list structure with Edge Type flags a.Create a unique edge list using a hash table. b.Edge Hash Function: sum the two vertex indices c.Border Flag -Edges with only one neighboring face -Two neighboring faces with different materials d.Set crease flags -Non-deformable geometry -Dihedral angle of two faces > threshold

03/30/03© 2005 University of Wisconsin Stylized Inking ALGORITHM SED Runtime: 1.For deformable meshes: a.Calculate face normals b.Detect crease edges from face normals c.Set Crease Edge flags 2. Detect silhouette edges a.

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Stylized Inking

03/30/03© 2005 University of Wisconsin Motion Lines Gives the appearance of motion For fast moving objects Simple algorithm Not much overhead –One circular buffer to maintain position data

03/30/03© 2005 University of Wisconsin Performance Claim: Maintain Real-Time Speeds –30 fps, in 2001 Tests: –Integrated with a level of detail scheme –Altered model complexity to maintain FPS

03/30/03© 2005 University of Wisconsin Performance

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin

03/30/03© 2005 University of Wisconsin “Computer-Generated Pen-and-Ink Illustration of Trees” (SIGGRAPH 2000) Oliver Deussen Thomas Strothotte

03/30/03© 2005 University of Wisconsin 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:

03/30/03© 2005 University of Wisconsin 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 1.Render shaded primitives that approximate foliage 2.Overlay graftals on rendered image using Salisbury’s line drawing method

03/30/03© 2005 University of Wisconsin Related Work Examples Kowalski’s Graftal Trees: Reeves “particle forest”:Smith’s “cartoon tree”:

03/30/03© 2005 University of Wisconsin Traditional Illustration of Trees The Skeleton is drawn up to the second level of branching. Foliage is broken up into three parts: 1.The directly lit canopy – represented by outlines and scarce inner detail 2.The half shadow – greater detail provides an overall darker grey level 3.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.

03/30/03© 2005 University of Wisconsin 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.

03/30/03© 2005 University of Wisconsin 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.

03/30/03© 2005 University of Wisconsin 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.

03/30/03© 2005 University of Wisconsin Depth Differences Continued… The threshold and primitive size can be varied to achieve different effects: Primitive size: 0.15Primitive size: 0.70 Threshold: 1000Threshold: 2000 The threshold can be varied using other buffers, achieving greater detail in areas that results in a shadowing effect:

03/30/03© 2005 University of Wisconsin 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

03/30/03© 2005 University of Wisconsin Level-of-Abstraction Two Approaches 1.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 d 0 : minimal depth value (e.g. 0) d 1 : maximal depth value (e.g ) z 0 : depth value of near clipping plane z 1 : depth value of far clipping plane 2.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.

03/30/03© 2005 University of Wisconsin 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 Scaling Scaled

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

03/30/03© 2005 University of Wisconsin Results

03/30/03© 2005 University of Wisconsin 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?

03/30/05© 2005 University of Wisconsin

03/30/05© 2005 University of Wisconsin Sketchy Drawings Marc Niehaus Jürgen Döllner University of Potsdam

03/30/05© 2005 University of Wisconsin Sketchy Drawings Sketchiness shows unfinished state Useful for architectural and product design

03/30/05© 2005 University of Wisconsin 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)

03/30/05© 2005 University of Wisconsin Algorithm Overview Obtain edge and shading data Perturb this data to get sketchy look Problem: It needs to be done in real time

03/30/05© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin Shade Map Render unlit 3D geometry to capture flat colors Store results in screen aligned texture instead of color buffer

03/30/05© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin End Result Use shaders to combine results into texture Render texture on screen-aligned quad

03/30/05© 2005 University of Wisconsin Style Variations Render edges multiple times Roughen edge and surface colors

03/30/05© 2005 University of Wisconsin Issues Depth Information Shower-Door Effect

03/30/05© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin 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

03/30/05© 2005 University of Wisconsin Process Summary

03/30/05© 2005 University of Wisconsin Questions?

03/30/05© 2005 University of Wisconsin