Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.

Slides:



Advertisements
Similar presentations
Extended Gaussian Images
Advertisements

Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Distance Between a Catmull- Clark Subdivision Surface and Its Limit Mesh Zhangjin Huang, Guoping Wang Peking University, China.
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Surfaces Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CS Peter Schröder Subdivision I: The Basic Ideas.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Pauly, Keiser, Kobbelt, Gross: Shape Modeling with Point-Sampled GeometrySIGGRAPH 2003 Shape Modeling with Point-Sampled Geometry Mark Pauly Richard Keiser.
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.
Content Subdivision First some basics (control point polygon, mesh)
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
Adaptively Sampled Distance Fields (ADFs) A General Representation of Shape for Computer Graphics S. Frisken, R. Perry, A. Rockwood, T. Jones Richard Keiser.
Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
Bspline/NURBS and Subdivision Surface Computer Graphics Lecture 15 Taku Komura.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
A Survey on FFD Reporter: Gang Xu Mar 15, Overview Volumn-based FFD Surface-based FFD Curve-based FFD Point-based FFD Accurate FFD Future Work Outline.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.
CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005
Texture Mapping by Model Pelting and Blending
Surface displacement, tessellation, and subdivision Ikrima Elhassan.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Subdivision Surfaces Ref: Subdivision Surfaces in Character Animation, DeRose et. al, SIGGRAPH98.
GPH 338 Computer Animation Survey
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps Daniele Panozzo, Enrico Puppo DISI - University of Genova, Italy Marco Tarini DICOM.
Lee Byung-Gook Dongseo Univ.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
11/26/02(C) University of Wisconsin Last Time BSplines.
Subdivision Surfaces Dr. Scott Schaefer.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
CS 318 Intro to Computer Graphics John C. Hart
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
Computing & Information Sciences Kansas State University Lecture 30 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 30 of 42 Wednesday, 09.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
© University of Wisconsin, CS559 Spring 2004
Advanced Computer Graphics
Constructing Objects in Computer Graphics By Andries van Dam©
© University of Wisconsin, CS559 Fall 2004
The Variety of Subdivision Schemes
Jeff Ballard Nick Rasmussen
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Last Time B-splines Project 3 was made available
Presentation transcript:

Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen

Outline Motivation. Show Geri’s game. Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.  Energy functional.  Collisions. Rendering: Parametric texture mapping & implementation issues. Conclusion.

Outline Motivation. Show Geri’s game. Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.  Energy functional.  Collisions. Rendering: Parametric texture mapping & implementation issues. Conclusion.

Motivation Trimming NURBS is expensive and prone to numerical error.

Motivation Trimmed NURBS is difficult to maintain smoothness.

Motivation Subdivision surfaces are flexible...

Motivation...and smooth

Geri’s Game Improve tools for human character animation Skin, hair & cloth Opportunity to: Experiment with subdivision surfaces Experiment with cloth dynamics Experiment with parametric texture mapping

Outline Motivation Show Geri’s Game Novelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics  Energy functional  Collisions Rendering: Parametric texture mapping & implementation issues. Conclusion.

Outline Motivation Show Geri’s Game Novelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics  Energy functional  Collisions Rendering: Parametric texture mapping & implementation issues. Conclusion.

Example of semi-sharp creases in Geri’s Game

Modeling Blends and Fillets Infinitely sharp creases Helpful to model piecewise-smooth surfaces But real-world surfaces not really infinitely sharp Semi-sharp creases give smoothly varying normals across crease. So surface does not tear if displaced in direction of normal

Modeling Blends contd… Use a generalized Catmull-Clark algorithm = Hybrid subdivision Better than developing individual subdivision rules using weights of creases: Will have to develop rules for lots of special cases The symmetry that bestows invariance under cyclic re-indexing is lost

Extreme cases of sharpness…

Darts, creases, corners and Hoppe’s algorithm

Rules using Hoppe’s algorithm for Catmull-Clark surfaces… Dart and smooth vertices are normal Catmull-Clark vertex points Corner vertices stay where they are Crease vertex mask shown below 11 6

Hybrid Subdivision concepts… Tag edges with some sharpness value(s) Can be integer constant or otherwise Tells how many times Hoppe’s algorithm is to be applied before smoothing (Catmull-Clark) Subdivided edges one level finer than parent Integral sharpness = s Subdivide using Hoppe’s sharp rules s times Use smooth Catmull-Clark rules after this

Examples of integer sharpness…

Hybrid subdivision contd… Non-integral sharpness = s: s i <s<s i +1 Use sharp rules s i times and smooth rule once more to get vertex set V 1 Use sharp rules s i +1 times to get vertex set V 2 Linearly interpolate between V 1 and V 2 Use smooth rules to the limit

Example of non-integral sharpness… Linear interpolation Smoothing sisi S i +1

Dealing with creases with variable sharpness…

Generalized rules (hybrid subdivision) Face points are same as from Catmull- Clark subdivision Edge points Smooth edge- same as from Catmull-Clark Crease with sharpness > 1- use midpoint as edge point Edge with sharpness between 0 and 1- linear blend of above two

Generalized rules contd… Vertex points Smooth/Dart vertex- use Catmull-Clark rules for vertex points Corner vertices- vertex points stay at same place as vertex Crease vertices  Average sharpness >= 1- use crease vertex rule  Otherwise, take linear blend of crease vertex rule and smooth vertex rule  Blooper in paper- says use linear blend of crease vertex rule and corner vertex rule for above case

Sharpness of subdivided edges… Use Chaikin’s corner-cutting algorithm at 3:1 (or 1:3) ratio: e ab.s = max(0, 0.75*e b.s *e a.s-1) eaea ecec ebeb e ab e bc

Outline Motivation Show Geri’s Game Novelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics  Energy functional  Collisions Rendering: Parametric texture mapping & implementation issues. Conclusion.

Cloth Dynamics Simulated physics for clothing animation Subdivision surfaces for kinematics and dynamic objects Energy functional Surface integral ---- finite-element approaches Discrete sum of terms ---- finite-difference methods

Quad Meshes for Cloth Catmull-Clark ---- regular quadrilateral grids. Warp & weft directions given locally. “Threads” have meaning.

Energy Functional Avoid stretch Springs along mesh edges Avoid skew Springs along mesh diagonals Avoid bending Virtual threads

Avoid Stretch Little stretch long the warp and weft directions. Strong fixed rest- length spring along each edge of the mesh. Energy term.

Avoid Skew Diagonal springs resist skew. Problems with diagonal springs. E = k E(S 1 ) E(S 2 ). Energy minimized when either spring is at its rest length. Free to bend along either diagonal.

Avoid bending Virtual threads. Anti-bending energy. Virtual thread

Outline Motivation Show Geri’s Game Novelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics  Energy functional  Collisions Rendering: Parametric texture mapping & implementation issues. Conclusion.

Collision detection Simplest approach is O(N 2 ) algorithm Use of some elegant spatial data structures can help make it O(N*log(N)) Use a 2-D surface-based data structure- in some sense, a quadtree analog No parameter plane to recurse on for hierarchy coarser than initial control mesh. So, Iteratively remove edges from control mesh and build up hierarchy (un-subdividing) Stop when only one super-face is left Maintain reasonable balance in hierarchy

Illustration…

Collision detection contd… Balancing hierarchy Because, if edges in newly generated super-face are removed, imbalance occurs So, if an edge has been removed, remove all edges of corresponding super-face from candidate list How do we detect collisions? Build bounding boxes for patches in hierarchy in bottom-up fashion

Collision detection contd… Start at root to check bounding box intersection with object Recurse down hierarchy if intersection occurs Control vertex positions change as subdivision progresses So all bounding boxes in hierarchy should be updated in bottom-up fashion Efficient way-each leaf knows which vertices constructed its bounding box

Outline Motivation Show Geri’s Game Novelties Modeling: Semi-sharp creases Animation: Support for cloth dynamics  Energy functional  Collisions Rendering: Parametric texture mapping & implementation issues. Conclusion.

Texture Mapping Four principal methods: Parametric texture mapping.  Not easy for subdivision surface. Procedural texture.  Not easy for subdivision surface. 3D painting.  Straightforward for subdivision surface. Solid texture.  Straightforward for subdivision surface.

For Polygonal Models Assign texture coordinates to vertexes. Linear or bilinear interpolation for triangles and quadrilaterals. Split for other faces. Not differentiable across edges.

For Subdivision Surface Texture coordinates (s,t) assigned to the control vertices. Subdivide using the same rules. Totally, 5D space (x,y,z,s,t).

Scalar Field For texture coordinates. For arbitrary parameters. Seams for Geri’s jackets. Geri’s nostril and ear cavities. Physical parameters in cloth simulator. Scalar field assignment. Manually. Interpolation using Laplacian smoothing. Painting on rendered images and use a least squares solver.

Examples

Outline Motivation. Show Geri’s game. Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.  Energy functional.  Collisions. Rendering: Parametric texture mapping & implementation issues. Conclusion.

Implementation issues in rendering Renderman requires all primitives to be convertible to grids of micro-polygons So each primitive should be Able to split into sub-patches Able to bound itself for culling Able to dice itself into micro-polygons BOUNDING patches Each patch has a control mesh Take bounding box of control mesh (convex hull property of Catmull-Clark surfaces)

Implementation contd…. Check if primitive is diceable Not diceable if splitting produces Lots of micro-polygons Micro-polygons vary hugely in size If not diceable, subdivide each patch to get 4 new sub-patch primitives Check whether sub-patches are diceable iteratively

Catmull-Clark limit properties and rendering… Bi-cubic B-Splines are the limit surfaces except for extraordinary points So a number of sub-patches are identified with B-Spline patches Advantages Fixed memory allocation for a patch- no need to store vertex connectivity for B-Spline patch Ability to be split independently in either parametric direction reduces splitting time

Catmull-Clark limit contd… Efficient forward-differencing algorithms for dicing B-Spline patches available

Outline Motivation. Show Geri’s game. Novelties. Modeling: semi-sharp creases. Animation: support for cloth dynamics.  Energy functional.  Collisions. Rendering: Parametric texture mapping & implementation issues. Conclusion.

Conclusions Compare subdivision and NURBS NURBS Prevent local refinement Care should be taken to hide seams between patches Subdivision surfaces Overcome some apparent (inherent) disadvantages by using semi-sharp creases and scalar fields for shading

Contd… Efficient collision detection makes subdivision surfaces well suited for physical simulation Cloth dynamics and rendering benefit a lot from Catmull-Clark subdivision surfaces