Progressive Simplicial Complexes Jovan Popovic Carnegie Mellon University Jovan Popovic Carnegie Mellon University Hugues Hoppe Microsoft Research Hugues.

Slides:



Advertisements
Similar presentations
Hugues Hoppe - SIGGRAPH 96 - Progressive Meshes
Advertisements

Progressive Simplicial Complexes Jovan Popovic Carnegie Mellon University Jovan Popovic Carnegie Mellon University Hugues Hoppe Microsoft Research Hugues.
Multi-chart Geometry Images Pedro Sander Harvard Harvard Hugues Hoppe Microsoft Research Hugues Hoppe Microsoft Research Steven Gortler Harvard Harvard.
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Surface Reconstruction From Unorganized Point Sets
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Progressive Transmission of Appearance Preserving Octree-Textures Camille Perin Web3D 2008 August 9, 2008 Julien LacosteBruno Jobard LIUPPA University.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Discrete Geometry Tutorial 2 1
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Computing Stable and Compact Representation of Medial Axis Wenping Wang The University of Hong Kong.
Computational Geometry -- Voronoi Diagram
Polygonal Mesh – Data Structure and Processing
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97.
Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Polygonal Mesh – Data Structure and Smoothing
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Progressive Meshes A Talk by Wallner and Wurzer for the overfull MathMeth auditorium.
Image Morphing : Rendering and Image Processing Alexei Efros.
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
An Introduction to 3D Geometry Compression and Surface Simplification Connie Phong CSC/Math April 2007.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Volumetric and Blobby Objects Lecture 8 (Modelling)
Modeling and representation 2 – the economics of polygon meshes 3.1 Compressing polygonal models 3.2 Compressing the geometry (information per vertex)
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
SMI 2002 Multiresolution Tetrahedral Meshes: an Analysis and a Comparison Emanuele Danovaro, Leila De Floriani University of Genova, Genova (Italy) Michael.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Geometric Modeling How to design a graphical model? How to create a digital description of a real-world object? Design Digitize.
All the Polygons You Can Eat
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
Riccardo Fellegara University of Genova Genova, Italy
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi.
Advanced Computer Graphics
Decimation Of Triangle Meshes
CS Computer Graphics II
Non-manifold Multiresolution Modeling (some preliminary results)
Elements of Combinatorial Topology
Domain-Modeling Techniques
Hugues Hoppe - SIGGRAPH 96 - Progressive Meshes
Progressive coding Motivation and goodness measures
A Volumetric Method for Building Complex Models from Range Images
Unstructured grid: an introduction
Progressive Meshes Copyright, 1996 © Dale Carnegie & Associates, Inc.
Chap 10. Geometric Level of Detail
Presentation transcript:

Progressive Simplicial Complexes Jovan Popovic Carnegie Mellon University Jovan Popovic Carnegie Mellon University Hugues Hoppe Microsoft Research Hugues Hoppe Microsoft Research

Triangle Meshes {f 1 } : { v 1, v 2, v 3 } {f 2 } : { v 3, v 2, v 4 } … connectivity geometry {v 1 } : (x,y,z) {v 2 } : (x,y,z) … face attributes {f 1 } : “skin material” {f 2 } : “brown hair” …

Triangle Meshes {v 2,f 1 } : (n x,n y,n z ) (u,v) {v 2,f 2 } : (n x,n y,n z ) (u,v) … corner attrib. {f 1 } : { v 1, v 2, v 3 } {f 2 } : { v 3, v 2, v 4 } … connectivity geometry {v 1 } : (x,y,z) {v 2 } : (x,y,z) … face attributes {f 1 } : “skin material” {f 2 } : “brown hair” …

Rendering Rendering Storage Storage Transmission Transmission Rendering Rendering Storage Storage Transmission Transmission Complex Models 232, 974 faces

Previous Work Model M=(K,V,D,S) Progressive mesh representation Model M=(K,V,D,S) Progressive mesh representation

Simplification: Edge collapse 13, faces M0M0M0M0 M1M1M1M1 M 175 ecol 0 ecol i ecol n-1 MnMnMnMn ecol(v s,v t, v s ) vlvlvlvl vrvrvrvr vtvtvtvt vsvsvsvs vsvsvsvs vlvlvlvl vrvrvrvr (optimization) ’ ’

Previous Work Progressive Meshes [Hoppe, ‘96] 150 M0M0M0M0 vspl 0 M1M1M1M1152 M … vspl i … 13,546 vspl n-1 M n =M ^ M0M0M0M0 vspl 0 … vspl i … vspl n-1 Progressive Mesh (PM) representation

Application: Progressive transmission Transmit records progressively: M0M0M0M0 Receiver displays: time M0M0M0M0 vspl 0 vspl 1 vspl i-1 MiMiMiMi (~ progressive GIF & JPEG) MnMnMnMn vspl n-1

Application: Continuous- resolution LOD From PM, extract M i of any desired complexity. M0M0M0M0 vspl 0 vspl 1 vspl i-1 vspl n-1 MiMiMiMi 3,478 faces? 3,478 M0M0M0M0 MnMnMnMn MiMiMiMi ~400K faces/sec!

PM Features Continuous LOD sequence Smooth visual transitions (Geomorphs) Progressive transmission Space-efficient representation Continuous LOD sequence Smooth visual transitions (Geomorphs) Progressive transmission Space-efficient representation

Would also like: PM Restrictions Supports only “meshes” (orientable, 2-dimensional manifolds) Supports only “meshes” (orientable, 2-dimensional manifolds)

PM Restrictions Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type M0M0M0M0 MnMnMnMn

PM Restrictions Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type 167,7448,0002,522 M0M0M0M0 MnMnMnMn … M i …

PM Restrictions Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type minimal vertex num of closed g genus mesh Supports only “meshes” (orientable, 2-dimensional manifolds) Preserves topological type minimal vertex num of closed g genus mesh

PM Restrictions Volumetric data :

Progressive Simplicial Complexes (PSC) edge collapse (ecol) vertex split (vspl) PM

Progressive Simplicial Complexes (PSC) edge collapse (ecol) vertex split (vspl) PM vertex unification (vunify) PSC

Progressive Simplicial Complexes (PSC) edge collapse (ecol) vertex split (vspl) PM vertex unification (vunify) generalized vertex split (gvspl) PSC

PSC representation PSC Representation M1M1M1M1 M 22 gvspl 1 M 116 … gvspl i … gvspl n-1 M n =M ^ arbitrary simplicial complexes

Abstract simplicial complexes (ASC)

Abstract simplicial complexes

Geometric vs toplogical realizations

Graph representation. First level – principle simplicesFirst level – principle simplices discrete attributes discrete attributes

Abstract simplicial complexes Manifold-adjecent Not manifold-adjecent

aiaiaiai bibibibi aiaiaiai s s’

* MN – manifold adjacent neighbors

Connectivity Encoding case (1) case (2) case (3) case (4) 0-dim 1-dim 2-dim undefinedundefined

Geomorps. (smooth transform.)

Simplicial Complex VK M ^

V K M^

K V M^ = {1, 2, 3, 4, 5, 6, 7} + simplices abstract simplicial complex {1}, {2}, …0-dim

Simplicial Complex = {1, 2, 3, 4, 5, 6, 7} + simplices V K M ^ {1}, {2}, …0-dim {1, 2}, {2, 3}…1-dim abstract simplicial complex

Simplicial Complex = {1, 2, 3, 4, 5, 6, 7} + simplices {1}, {2}, …0-dim {1, 2}, {2, 3}…1-dim VK M ^ {4, 5, 6}, {6, 7, 5}2-dim abstract simplicial complex

Generalized Vertex Split Encoding vunify aiaiaiai aiaiaiai bibibibi

gvspl vunify aiaiaiai gvspl i = {a i }, aiaiaiai aiaiaiai bibibibi

Connectivity Encoding case (1) case (2) case (3) case (4) 0-dim 1-dim 2-dim undefinedundefined

Connectivity Encoding case (1) case (2) case (3) case (4) 0-dim 1-dim 2-dim undefinedundefined

Connectivity Encoding case (1) case (2) case (3) case (4) 0-dim 1-dim 2-dim undefinedundefined S

gvspl i = {a i }, Generalized Vertex Split Encoding vunify aiaiaiai gvspl 0-simplices aiaiaiai aiaiaiai bibibibi

vunify aiaiaiai gvspl i = {a i }, gvspl 1-simplices aiaiaiai bibibibi

gvspl i = {a i }, Generalized Vertex Split Encoding vunify aiaiaiai 2-simplices gvspl aiaiaiai bibibibi 1 2

gvspl i = {a i }, Generalized Vertex Split Encoding vunify aiaiaiai connectivity gvspl S aiaiaiai bibibibi

vunify gvspl i = {a i }, ,  vpos gvspl aiaiaiai bibibibi

Generalized Vertex Split Encoding vunify gvspl i = {a i }, ,  vpos gvspl aiaiaiai bibibibi If a simplex has split code c in {1, 2}, all of its parents have split code c.If a simplex has split code c in {1, 2}, all of its parents have split code c. If a simplex has split code 3, none of its parents have split code 4.If a simplex has split code 3, none of its parents have split code 4.

Connectivity Encoding Constraints vunify gvspl

Space Analysis Average 2D manifold mesh n vertices, 3n edges, 2n triangles PM representation n ( log 2 n + 4 ) bits PSC representation n ( log 2 n + 7 ) bits Average 2D manifold mesh n vertices, 3n edges, 2n triangles PM representation n ( log 2 n + 4 ) bits PSC representation n ( log 2 n + 7 ) bits

PSC Construction Form a set of candidate vertex pairs 1-simplices of K some pairs from different components1-simplices of K some pairs from different components Form a set of candidate vertex pairs 1-simplices of K some pairs from different components1-simplices of K some pairs from different components For each candidate vertex pairs a, b : calculate accuracy of vunify (a,b) calculate accuracy of vunify (a,b) Sort candidate vertices according to accuracy For each candidate vertex pairs a, b : calculate accuracy of vunify (a,b) calculate accuracy of vunify (a,b) Sort candidate vertices according to accuracy

PSC Construction How to get pairs from different components Octree of model’s bbox Octree of model’s bbox How to get pairs from different components Octree of model’s bbox Octree of model’s bbox

PSC Construction How to get pairs from different components Delaunay triangulation K DT Delaunay triangulation K DT How to get pairs from different components Delaunay triangulation K DT Delaunay triangulation K DT No point in P is inside the circumcircles of any simplex in K DT Center of circumcircles gives Voronoi diagram

Unify pair with lowest cost updating costs of affected candidatesupdating costs of affected candidates Unify pair with lowest cost updating costs of affected candidatesupdating costs of affected candidates PSC Construction Form a set of candidate vertex pairs 1-simplices of K + 1-simplices of K DT1-simplices of K + 1-simplices of K DT Compute cost of each vertex pair ∆E = ∆E dist + ∆E disc + ∆ E area + E fold∆E = ∆E dist + ∆E disc + ∆ E area + E fold Form a set of candidate vertex pairs 1-simplices of K + 1-simplices of K DT1-simplices of K + 1-simplices of K DT Compute cost of each vertex pair ∆E = ∆E dist + ∆E disc + ∆ E area + E fold∆E = ∆E dist + ∆E disc + ∆ E area + E fold

Form a set of candidate vertex pairs PSC Construction 1-simplices of K DT 1-simplices of K candidate vertex pairs

Computing ∆E

Simplification Results 72,346 triangles 674 triangles

Simplification Results 8,936 triangles 170 triangles

PSC Features Video Destroyer PSC sequence PM, PSC comparison PSC Geomorphs Line Drawing

PSC Features Video

PSC VK M^ M1M1M1M1 gvspl n progressive geometry and topology lossless n any triangulation single vertex PSC Summary arbitrary simplicial complex

Continuous LOD sequence Smooth transitions (Geomorphs) Progressive transmission Space-efficient representation Continuous LOD sequence Smooth transitions (Geomorphs) Progressive transmission Space-efficient representation PSC Summary Supports topological changes Models of arbitrary dimension Supports topological changes Models of arbitrary dimension e.g. LOD in volume rendering