Rendering Large Models (in real time)

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Measuring Simplification Error Jonathan Cohen Computer Science Department Johns Hopkins University
5/1/2000Deepak Bandyopadhyay / UNC Chapel Hill 1 Extended Quadric Error Functions for Surface Simplification Deepak Bandyopadhyay COMP 258 F2000 Project.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
New quadric metric for simplifying meshes with appearance attributes Hugues Hoppe Microsoft Research IEEE Visualization 1999 Hugues Hoppe Microsoft Research.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Mesh Simplification Global and Local Methods:
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
3D Model Simplification (GATE-540)
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hidden Surface Removal
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
10/14/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Level of Detail.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
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 Quadric Error Metrics 1/20 Quadric Error Metrics.
Viewpoint Entropy-driven Simplification Pascual Castelló 1, Mateu Sbert 2, Miguel Chover 1 and Miquel Feixas 2 1 Universitat Jaume I de Castelló, Spain.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
All the Polygons You Can Eat
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
ALGORITHMS FOR POLYGON REDUCTION Author: Ing. Roman Schulz FIT VUT, 2008.
Level of Detail: Generating LODs David Luebke University of Virginia.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Model Optimization Wed Nov 16th 2016 Garrett Morrison.

Advanced Computer Graphics
Decimation Of Triangle Meshes
CS Computer Graphics II
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
Jarek Rossignac GVU Center Georgia Institute of Technology
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

Rendering Large Models (in real time) A large model may contain billions of polygons and take up gigabytes of memory Such models arise naturally in: Architectural walkthroughs CAD (aircraft, ships, oil platforms…) Training simulators and games Generally, users wish to move about the model, looking around, and see in real-time a stream of images from the current viewpoint Real-time means at least 10 frames-per-second, but 20 frames-per-second is much, much better

Tools for Large Models Visibility Culling: Avoid touching data for parts of the model the viewer cannot see Model Simplification (LOD): Reduce the complexity of the model with minimal impact on visual quality Image-Based Representations: Replace geometry with images Database Management: Ensure that data required for the current frame is in memory, even if the entire model won’t fit

Simplification Overview Run-time impact of simplification: Reduces the cost of transforming the model Reduces memory bandwidth to graphics subsystem Little effect on rasterization (same pixels touched) Useful properties of simplification algorithm: Automatic - models are too big to examine by hand Few restrictions on input data (eg allow non-manifold meshes) Major reduction in model complexity Minimal increase in visual error Fast – both preprocessing and run-time

Aspects of Simplification Simplification operations: How are the geometry and surface properties modified? Error Measures: How is error measured and controlled by the algorithm? Are the simplified models static or dynamic? Static: One of a few pre-computed models is chosen to be rendered Dynamic: The simplification is done on the fly Run-time Control: How is it decided which model to render?

Simplification Operations Various basic operations are possible: Vertex cluster Vertex remove Edge collapse Vertex pair Many minor variations Each operation reduces the complexity by a small amount and influences a small region Apply many operations in sequence to achieve large reductions

Vertex Cluster Merge a set of vertices based on geometric proximity Triangles may disappear, become lines or become points Can choose to remove or render degeneracies Very general, and doesn’t rely on manifold meshes Can have a major impact on topology Hard to make it look good

Vertex Remove Remove a vertex and adjacent faces Re-triangulate to fill hole 2 fewer triangles Exponential number of re-triangulations Requires a manifold surface about the vertex Preserves the local topological structure Generally looks better

Edge Collapse Merge two edge vertices into one, thus removing the edge Choose position and attributes for the new vertex Delete degenerate triangles Reduction of 2 for manifold edge The removal can be animated for a smooth transition Move vertices toward new location, then delete them

Half-Edge Collapse Collapse the edge to one of its endpoint vertices Vertex sets remain a subset of the original set – property of vertex removal Smooth transitions still possible – property of edge collapse

Vertex Remove vs. Edge Collapse Half-Edge Collapse Edge Collapse Neighborhood: About 1 vertex vs. about 2 vertices New vertices: None vs. one in free position New tesselation: Many possible vs. one Smooth transitions: Difficult vs. natural

Vertex Pair Merge any two vertices More flexible than edge collapse Choice based on geometry, topology, attributes, etc More flexible than edge collapse Can change topology quickly More local control than vertex cluster Choose vertices based on more than just proximity

Choosing an Operation Attention to topology improves appearance Supporting non-manifolds increases robustness and domain Collapse-type operations support smooth transitions Vertex removal affects a smaller portion of the mesh than edge collapse A subset of vertex removal is equivalent to a subset of edge collapse

Simplification Algorithms Rank the possible operations according to the error they will introduce Must be able to measure error Error metrics make all the difference Repeatedly: Do the operation that introduces the least error Re-evaluate error in neighborhood of operation Almost all good simplification algorithms fit into this framework Note greedy approach does not in general ensure optimal result

Error Metrics Always include a geometric component: Vertex-Vertex distance Vertex-Plane Distance Point-Surface Distance Surface-Surface Distance May include attribute metrics Aim to preserve pixel colors Components for normal vectors, texture coordinates…

Vertex-Vertex Distance E=max(||v3-v1||, ||v3-v2||) Works during topological changes Vertex clustering, Vertex pair Rossignac and Borrel 93, Luebke and Erikson 97 A loose metric for collapse type operations Vertices don’t move very far, but surface deviation may be high v1 v2

Vertex-Plane Distance b a c Store a set of planes with each vertex Error based on distance from the vertex to the planes Merge the plane sets when vertices are merged Tries to keep vertices near original surface Ronfard and Rossignac 96 Store planes, use max distance Error Quadrics – Garland and Heckbert 96 Quadratic form instead of planes, use sum of square distances

Point-Surface Distance Measure the distance from a set of points to the simplified surface Point set representative of original surface Use sum of squares distances Hoppe 93 and 96 Approximation to surface-surface distance Expensive to compute

Surface-Surface Distance Bounds the maximum distance between the input and simplified surfaces Tolerance volumes – Gueziec 96 Simplification Envelopes – Coehn/Varshey 96 Hausdorf Distance – Klein 96 Mapping Distance – Bajaj/Schikore 96, Cohen et. al. 97 Arguably best measure

Error Metric Notes A good metric allows you to transform error in object space into error in screen space Simplifies decision of which model to display Note that the metric are very different Consider an edge-swap: E=0 at verts and edges E0 everywhere else Run-time metrics may take view into account