Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.

Slides:



Advertisements
Similar presentations
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advertisements

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Jehee Lee Seoul National University
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
Subdivision Surfaces Computational Geometry Presentation Adam Lake.
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CS Peter Schröder Subdivision I: The Basic Ideas.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
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.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
MS. WILLIAMS Anatomy of a 3D Model. 3D Model 3D Models are one of the essential building blocks of 3D computer graphics. Without them there would be no.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Ziting (Vivien) Zhou1 Drawing Graphs By Computer Graph from
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
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.
Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.
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.
Creating & Processing 3D Geometry Marie-Paule Cani
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Texture Mapping by Model Pelting and Blending
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Course Introduction and Terminology CGDD 4113 – 3D MODELING AND ANIMATION.
Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Introduction to Computer Graphics: Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
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.
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.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Subdivision Surfaces Dr. Scott Schaefer.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
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.
Modeling The process of creating 3D Objects
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.
CENG 789 – Digital Geometry Processing 04- Mesh Data Structures
POLYGON MESH Advance Computer Graphics
Advanced Computer Graphics
3D Modeling.
The Variety of Subdivision Schemes
Jeff Ballard Nick Rasmussen
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Presentation transcript:

Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003

Agenda Background of subdivision surfaces Reasons for use Methods and implementation Pixar developments Conclusion and Geri’s Game

Background NURBS (Nonuniform Rational B-Splines) Easy and Available

Background Problems –Trimming NURBS is expensive and can have numerical errors –When used in animation, very hard to hide seams These problems can be fixed with Subdivision

Background Subdivision –No Trimming –Connectivity and smoothness guaranteed No hacks needed Did not have development like NURBS

Pixar needed to develop tools –Semi-sharp creases Based on infinitely sharp creases (Hoppe) –Physical simulation (ie: clothing) –Collision detection –Texture mapping Background

But First… –What is Subdivision?

Subdivision Construct a surface from an arbitrary polyhedron –Subdivide each face of the polyhedron The limit will be a smooth surface

Subdivision How to subdivide a face? –Divide each edge in half –Average the centroids of each adjacent edge –Reconnect the two edges with the new vertex

Three main methods –Catmull-Clark (quadrilaterals) –Loop’s method (triangles) –Butterfly method (triangles) Subdivision

Chose Catmull-Clark –Generalize B-Splines Easier to implement with existing software –Quadrilaterals are better at describing human body parts Tube-like arms, legs, fingers, etc… Subdivision

Subdivision – Catmull- Clark Same as methods as in 2-D –Start with control mesh Split all faces into quadrilaterals –Apply subdivision rules –Limit surface is tangent plane smooth no matter where the control vertices are placed

Subdivision

Pixar Developments Semi-sharp creases Physical simulation Efficient collision detection Texture mapping

Pioneered by Hoppe –Very useful Simply mark a subset of the edges as “sharp” and apply a different set of governing rules Easy to model Sharp Creases

But… –Real world objects cannot have infinitely sharp creases –Sometimes necessary to have tightly curved edges –So….. Sharp Creases

Pixar developed a generalization (semi-sharp) –Controllable sharpness –Sharpness (s) = 0, smooth –Sharpness (s) = inf, sharp –Achievable through hybrid subdivision Semi-Sharp Creases

Model kinematic/dynamic objects –Specifically, but not limited to, clothing Must define an “energy functional” –Finite difference approach –Use springs to model clothing Physical Simulation

Model kinematic/dynamic objects –Specifically, but not limited to, clothing Must define an “energy functional” –Finite difference approach –Use springs to model clothing Physical Simulation

Simple solution –Test each geometric element against all others –Not practical (N 2 = Bad) Use 2-d or 3-d structure to represent objects –They used 2-d Hierarchy fixed, storage is static, never need rebalance Collision Detection

Done mostly in preprocessing Hierarchy is made from bottom up –Start at leaves with control mesh –Get more detailed as move up –Root is final surface Only need update control vertices positions Collision Detection

Solid color painting is easy, already defined Texturing is not so easy –Using polygonal methods can result in distortion Texture mapping

Treat texture coordinates in same way as geometric coordinates and use subdivision These are scalar fields –Used in Geri’s jacket, ears, nostrils Procedural shaders use scalar values to determine colors Texture mapping

Scalar values are determined by using interpolation at control points using Laplacian smoothing Sometimes even done manually Texture mapping

2D – 2d.jsphttp:// 2d.jsp 3D – demos.jsphttp:// demos.jsp DEMOS!

Conclusion Subdivision > NURBS –More control, accuracy Pixar = sweet –Developments make subdivision surfaces very practical and useful –Now part of Renderman

First definitive work with subdivision Crazy old man playing chess against himself Enjoy! rt_320.htmlhttp:// rt_320.html Geri’s game

Pictures and references from: – – surfacesintro.htmhttp:// surfacesintro.htm – all02/cs526/lectures/subdivision.pdfhttp:// all02/cs526/lectures/subdivision.pdf – – /images/Loop/Loop1.htmlhttp:// /images/Loop/Loop1.html Thank You