Patch-based Tessellation for Dual Subdivision on GPU

Slides:



Advertisements
Similar presentations
Tesselation Shaders. Tesselation  dictionary definition of tesselate is the forming of a mosaic.
Advertisements

Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
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
Fast and Extensible Building Modeling from Airborne LiDAR Data Qian-Yi Zhou Ulrich Neumann University of Southern California.
MATHIEU GAUTHIER PIERRE POULIN LIGUM, DEPT. I.R.O. UNIVERSITÉ DE MONTRÉAL GRAPHICS INTERFACE 2009 Preserving Sharp Edges in Geometry Images.
Distance Between a Catmull- Clark Subdivision Surface and Its Limit Mesh Zhangjin Huang, Guoping Wang Peking University, China.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Dual Marching Cubes: An Overview
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CS Peter Schröder Subdivision I: The Basic Ideas.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
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.
Subdivision Overview Subdivision is a two part process Control Mesh
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.
Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.
Creating & Processing 3D Geometry Marie-Paule Cani
Progressive Meshes with Controlled Topology Modification University of Bonn Institute II. for Computer Science Computer Graphics Group Pavcl Borodin Rchinhard.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
Computer Graphics and Multimedia Systems, University of Siegen, Germany 1 GPU-Based Responsive Grass Jens Orthmann, Christof Rezk-Salama, Andreas Kolb.
Semi-regular 3D mesh progressive compression and transmission based on an adaptive wavelet decomposition 21 st January 2009 Wavelet Applications in Industrial.
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.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
1 Subdivision Depth Computation for Catmull-Clark Subdivision Surfaces Fuhua (Frank) Cheng University of Kentucky, Lexington, KY Junhai Yong Tsinghua University,
What are they?  A repeating pattern using regular polygons  No gaps or overlaps  Each vertex is the same.
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps Daniele Panozzo, Enrico Puppo DISI - University of Genova, Italy Marco Tarini DICOM.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
Construction of Navau and Garcia. Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
3D Game Engine Design Chapter 11 TERRAIN. What are covered ? Dynamic Level of Detail Tessellation – Terrain Topology – Simplification – Full Algorithm.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
CENG 789 – Digital Geometry Processing 04- Mesh Data Structures
Extracting the Topology Information from STL Model in order to Generate Cross-sectional Loops Efficiently Islam Md. Olioul*, Ho Chan Kim*† Department.
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Advanced Computer Graphics
Daniil Rodin for CAGD course, 2016
Smooth Surfaces Dr. Scott Schaefer.
Object Recognition in the Dynamic Link Architecture
The Variety of Subdivision Schemes
Subdivision and Simplification
Grimm and Hughes Input: arbitrary mesh
Chapter III Modeling.
Grimm and Hughes Input: arbitrary mesh
Multiresolution Meshes for 3-D Object Description
Jeff Ballard Nick Rasmussen
Chapter XVIII Surface Tessellation
3D Modeling, Graphics, and Animation
Sara McMains UC Berkeley
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Last Time B-splines Project 3 was made available
Presentation transcript:

Patch-based Tessellation for Dual Subdivision on GPU Fengtao Fan1 Fuhua (Frank) Cheng1 ffan2@uky.edu cheng@cs.uky.edu 1University of Kentucky, USA 【OVERVIEW】 【RESULTS】 Models are fully reevaluated to depth 5 after deforming control meshes. Real time performance for moderate meshes; Implemented by CUDA on a GeForce 8800 GT GPU(512M) card. Subdivision surface tessellation on GPU Patch-based method Local, space and time efficiency; Catmull-Clark, Loop, well developed; Doo-Sabin Vs. Catmull-Clark, Loop etc. One patch per vertex; per face; 1D array for storing patches; 2D array; No numerical roundoff gaps; with gaps; One subdivision needed for preprocessing; (a) 298 patches at 14fps 【ALGORITHM】 Each vertex corresponds to a patch;   (b) 354 patches at 19 fps Two key operations: Extract faces from the array: Vertices and faces organized as layers; Faces: corner, virtual corner or regular quad; Vertices: corner vertex  a corner & regular quad; regular vertex  a regular quad; (c) 505 patches at 14 fps Store new faces back to the array: i-th face layer  (2i)-th face layer in refined mesh; (d) 66 patches at 56 fps Given subdivision depth d ( 2), this procedure is performed d 1 times: For each vertex , extracting faces: One corner and regular quad for corner vertex ; One irregular face and regular quad for virtual corner vertex; One regular quad for regular vertex; Subdivide extracted faces Store back Subdivide the most inner face and store back (e) 314 patches at 14 fps