Level of Detail: A Brief Overview

Slides:



Advertisements
Similar presentations
View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.
Advertisements

HLODs: Hierarchical Levels of Detail Hierarchical Simplifications for Faster Display of Massive Geometric Environments Carl Erikson, Dinesh Manochahttp://
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
School of Computer Science and Software Engineering Design Issues in Human Visual Perception Experiments on Region Warping Monash University Yang-Wai Chow.
UVA / UNC / JHU Perceptually Guided Simplification of Lit, Textured Meshes Nathaniel WilliamsUNC David LuebkeUVA Jonathan D. CohenJHU Michael KelleyUVA.
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Topological Surgery Progressive Forest Split Papers by Gabriel Taubin et al Presented by João Comba.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Navigating and Browsing 3D Models in 3DLIB Hesham Anan, Kurt Maly, Mohammad Zubair Computer Science Dept. Old Dominion University, Norfolk, VA, (anan,
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
Chapter 8: Problem Solving
Level of Detail David Luebke University of Virginia.
Rendering Adaptive Resolution Data Models Daniel Bolan Abstract For the past several years, a model for large datasets has been developed and extended.
Dynamic Meshing Using Adaptively Sampled Distance Fields
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Computer Graphics Research at Virginia David Luebke Department of Computer Science.
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
GPU Graftals: Stylized Rendering of Fluffy Objects Michael Lester.
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.
Adaptive Display Algorithmfor Interactive Frame Rates.
Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.
Daniele D’Agostino CNR - IMATI - Sezione di Genova
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Approach Outline Polygonal-Functional Hybrids for Computer Animation and Games The modern world of computer graphics is mostly dominated by polygonal models.
LODManager A framework for rendering multiresolution models in real-time applications J. Gumbau O. Ripollés M. Chover.
Electronic Visualization Laboratory University of Illinois at Chicago “Time-Critical Multiresolution Volume Rendering using 3D Texture Mapping Hardware”
David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Rendering Large Models (in real time)
Planning Tracking Motions for an Intelligent Virtual Camera Tsai-Yen Li & Tzong-Hann Yu Presented by Chris Varma May 22, 2002.
Controlling Memory Consumption of Hierarchical Radiosity with Clustering iMAGIS -GRAVIR/IMAG-INRIA iMAGIS is a joint project of CNRS/INRIA/UJF/INPG Xavier.
DPL3/9/2016 CS 551/651: Simplification Continued David Luebke
Chapter 7 Memory Management Eighth Edition William Stallings Operating Systems: Internals and Design Principles.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
Chapter 7 Memory Management
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Virtual memory.
Non Contiguous Memory Allocation
Photorealistic Rendering vs. Interactive 3D Graphics
We propose a method which can be used to reduce high dimensional data sets into simplicial complexes with far fewer points which can capture topological.
POLYGON MESH Advance Computer Graphics
Terrain Level of Detail
CS Computer Graphics II
So far we have covered … Basic visualization algorithms
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
Stylized Environmental Rendering
The Graphics Rendering Pipeline
Central Processing Unit
Computer Graphics Research at Virginia
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Systems, Models and Simulations
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
Lecture 3: Main Memory.
Operating System Chapter 7. Memory Management
Hierarchical and Dynamic Large-Scale Railway-Track Modeling Method for High-Speed Train Real-Time Visual Simulation Good afternoon, first of all, let.
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
COMP755 Advanced Operating Systems
Presentation transcript:

Level of Detail: A Brief Overview David Luebke University of Virginia

Introduction Level of detail (LOD) is an important tool for maintaining interactivity Focuses on the fidelity / performance tradeoff Not the only tool! Complementary with: Parallel rendering Occlusion culling Image-based rendering [etc] I’ll talk at a high level about LOD today Introduce main concepts Place today’s papers into context Give some opinions

Level of Detail: The Basic Idea The problem: Geometric datasets can be too complex to render at interactive rates One solution: Simplify the polygonal geometry of small or distant objects Known as Level of Detail or LOD A.k.a. polygonal simplification, geometric simplification, mesh reduction, decimation, multiresolution modeling, …

Level of Detail: Traditional LOD In A Nutshell Create levels of detail (LODs) of objects: 69,451 polys 2,502 polys 251 polys 76 polys Courtesy Stanford 3D Scanning Repository

Level of Detail: Traditional LOD In A Nutshell Distant objects use coarser LODs:

Level of Detail: The Big Questions How to represent and generate simpler versions of a complex model? 69,451 polys 2,502 polys 251 polys 76 polys Courtesy Stanford 3D Scanning Repository

Level of Detail: The Big Questions How to evaluate the fidelity of the simplified models? 69,451 polys 2,502 polys 251 polys 76 polys Courtesy Stanford 3D Scanning Repository

Level of Detail: The Big Questions When to use which LOD of an object? 69,451 polys 2,502 polys 251 polys 76 polys Courtesy Stanford 3D Scanning Repository

Some Background History of LOD techniques LOD frameworks Early history: Clark (1976), flight simulators Handmade LODs  automatic LODs LOD run-time management: reactive  predictive (Funkhouser) LOD frameworks Discrete (1976) Continuous (1996) View-dependent (1997)

Traditional Approach: Discrete Level of Detail Traditional LOD in a nutshell: Create LODs for each object separately in a preprocess At run-time, pick each object’s LOD according to the object’s distance (or similar criterion) Since LODs are created offline at fixed resolutions, we call this discrete LOD

Discrete LOD: Advantages Simplest programming model; decouples simplification and rendering LOD creation need not address real-time rendering constraints Run-time rendering need only pick LODs

Discrete LOD: Advantages Fits modern graphics hardware well Easy to compile each LOD into triangle strips, display lists, vertex arrays, … These render much faster than unorganized triangles on today’s hardware (3-5 x)

Discrete LOD: Disadvantages So why use anything but discrete LOD? Answer: sometimes discrete LOD not suited for drastic simplification Some problem cases: Terrain flyovers Volumetric isosurfaces Super-detailed range scans Massive CAD models

Drastic Simplification: The Problem With Large Objects Courtesy IBM and ACOG

Drastic Simplification: The Problem With Small Objects Courtesy Electric Boat

Drastic Simplification For drastic simplification: Large objects must be subdivided Small objects must be combined Difficult or impossible with discrete LOD So what can we do?

Continuous Level of Detail A departure from the traditional discrete approach: Discrete LOD: create individual levels of detail in a preprocess Continuous LOD: create data structure from which a desired level of detail can be extracted at run time.

Continuous LOD: Advantages Better granularity  better fidelity LOD is specified exactly, not chosen from a few pre-created options Thus objects use no more polygons than necessary, which frees up polygons for other objects Net result: better resource utilization, leading to better overall fidelity/polygon

Continuous LOD: Advantages Better granularity  smoother transitions Switching between traditional LODs can introduce visual “popping” effect Continuous LOD can adjust detail gradually and incrementally, reducing visual pops Can even geomorph the fine-grained simplification operations over several frames to eliminate pops [Hoppe 96, 98]

Continuous LOD: Advantages Supports progressive transmission Progressive Meshes [Hoppe 97] Progressive Forest Split Compression [Taubin 98] Leads to view-dependent LOD Use current view parameters to select best representation for the current view Single objects may thus span several levels of detail

View-Dependent LOD: Examples Show nearby portions of object at higher resolution than distant portions View from eyepoint Birds-eye view

View-Dependent LOD: Examples Show silhouette regions of object at higher resolution than interior regions

View-Dependent LOD: Examples Show more detail where the user is looking than in their peripheral vision: 34,321 triangles

View-Dependent LOD: Examples Show more detail where the user is looking than in their peripheral vision: 11,726 triangles

View-Dependent LOD: Advantages Even better granularity Allocates polygons where they are most needed, within as well as among objects Enables even better overall fidelity Enables drastic simplification of very large objects Example: stadium model Example: terrain flyover

An Aside: Hierarchical LOD View-dependent LOD solves the Problem With Large Objects Hierarchical LOD can solve the Problem With Small Objects Merge objects into assemblies At sufficient distances, simplify assemblies, not individual objects How to represent this in a scene graph?

An Aside: Hierarchical LOD Hierarchical LOD dovetails nicely with view-dependent LOD Treat the entire scene as a single object to be simplified in view-dependent fashion Hierarchical LOD can also sit atop traditional discrete LOD schemes Imposters [Maciel 95] HLODs [Erikson 01]

Choosing LODs: LOD Run-Time Management Fundamental LOD issue: where in the scene to allocate detail? For discrete LOD this equates to choosing which LOD will represent each object Run every frame on every object; keep it fast

Choosing LODs Describe a simple method for the system to choose LODs Assign each LOD a range of distances Calculate distance from viewer to object Use corresponding LOD How might we implement this in a scene-graph based system?

Choosing LODs What’s wrong with this simple approach? Visual “pop” when switching LODs can be disconcerting Doesn’t maintain constant frame rate; lots of objects still means slow frame times Requires someone to assign switching distances by hand Correct switching distance may vary with field of view, resolution, etc. What can we do about each of these?

Choosing LODs Maintaining constant frame rate One solution: scale LOD switching distances by a “bias” Implement a feedback mechanism: If last frame took too long, decrease bias If last frame took too little time, increase bias Dangers: Oscillation caused by overly aggressive feedback Sudden change in rendering load can still cause overly long frame times