Real-Time Rendering & Game Technology CS 446/651 David Luebke.

Slides:



Advertisements
Similar presentations
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Advertisements

View-Dependent Simplification of Arbitrary Polygonal Environments David Luebke.
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.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
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.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
View-Dependent Refinement of Progressive Meshes Hugues Hoppe Microsoft Research SIGGRAPH 97.
Mesh Simplification Global and Local Methods:
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
10/14/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Level of Detail.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Level of Detail David Luebke University of Virginia.
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.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
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.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
LODManager A framework for rendering multiresolution models in real-time applications J. Gumbau O. Ripollés M. Chover.
CSC321 Lecture 5 Applying backpropagation to shape recognition Geoffrey Hinton.
ALGORITHMS FOR POLYGON REDUCTION Author: Ing. Roman Schulz FIT VUT, 2008.
Level of Detail: Generating LODs David Luebke University of Virginia.
Electronic Visualization Laboratory University of Illinois at Chicago “Time-Critical Multiresolution Volume Rendering using 3D Texture Mapping Hardware”
DPL2/10/2016 CS 551/651: Final Review David Luebke
David Luebke2/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Rendering Large Models (in real time)
Image-Based Rendering CS 446: Real-Time Rendering & Game Technology David Luebke University of Virginia.
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
Scheduling Level of Detail with guaranteed Quality and Cost W. Pasman, F. W. Jansen Delft University of Technology.
David Luebke3/16/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Level of Detail: Generating LODs David Luebke University of Virginia.
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.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Virtual memory.
Terrain Level of Detail
CS Computer Graphics II
Level of Detail: A Brief Overview
CS679 - Fall Copyright Univ. of Wisconsin
CS475 3D Game Development Level Of Detail Nodes (LOD)
Today Runtime LOD Spatial Data Structures Overview
The Graphics Rendering Pipeline
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.
Graphics and Multimedia
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
Advanced Implementation of Tables
CS679 - Fall Copyright Univ. of Wisconsin
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Chapter 14 Shading Models.
Presentation transcript:

Real-Time Rendering & Game Technology CS 446/651 David Luebke

Demo Time New card not installed yet so…

Recap: Level of Detail The basic idea: 249,924 polys62,480 polys7,809 polys975 polys

Recap: Level of Detail The basic idea:

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

Level of Detail: The Big Questions l How to evaluate the fidelity of the simplified models? Courtesy Stanford 3D Scanning Repository 69,451 polys2,502 polys251 polys76 polys

Level of Detail: The Big Questions l When to use which LOD of an object? Courtesy Stanford 3D Scanning Repository 69,451 polys2,502 polys251 polys76 polys

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

Traditional Approach: Discrete Level of Detail l 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) l Since LODs are created offline at fixed resolutions, we call this discrete LOD

Discrete LOD: Advantages l 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 l 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)

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 Discrete LOD: Disadvantages

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

Drastic Simplification: The Problem With Small Objects Courtesy Electric Boat

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

Continuous Level of Detail l 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 l 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 l Better granularity  smoother transitions –Switching between traditional LODs can introduce visual “popping” effect –Continuous LOD can adjust detail gradually and incrementally, reducing visual pops n Can even geomorph the fine-grained simplification operations over several frames to eliminate pops [Hoppe 96, 98]

Continuous LOD: Advantages l Supports progressive transmission –Progressive Meshes [Hoppe 97] –Progressive Forest Split Compression [Taubin 98] l 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 l Show nearby portions of object at higher resolution than distant portions View from eyepoint Birds-eye view

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

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

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

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

An Aside: Hierarchical LOD l View-dependent LOD solves the Problem With Large Objects l 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 l Hierarchical LOD dovetails nicely with view-dependent LOD –Treat the entire scene as a single object to be simplified in view-dependent fashion l Hierarchical LOD can also sit atop traditional discrete LOD schemes –Imposters [Maciel 95] –HLODs [Erikson 01]

Summary: LOD Frameworks l Discrete LOD –Generate a handful of LODs for each object l Continuous LOD (CLOD) –Generate data structure for each object from which a spectrum of detail can be extracted l View-dependent LOD –Generate data structure from which an LOD specialized to the current view parameters can be generated on the fly. –One object may span multiple levels of detail l Hierarchical LOD –Aggregate objects into assemblies with their own LODs

Choosing LODs: LOD Run-Time Management l 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 l 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 l How might we implement this in a scene- graph based system?

Choosing LODs l 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. l What can we do about each of these?

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

Choosing LODs: Maintaining constant frame rate l A better (but harder) solution: predictive LOD selection l For each LOD estimate: –Cost (rendering time) –Benefit (importance to the image)

Choosing LODs: Funkhouser & Sequin, SIGGRAPH 93 l Given a fixed time budget, select LODs to maximize benefit within a cost constraint –Variation of the knapsack problem –What do you think the complexity is? n A: NP-Complete (like the 0-1 knapsack problem) –In practice, use a greedy algorithm n Sort objects by benefit/cost ratio, pick in sorted order until budget is exceeded n Guaranteed to achieve at least 50% optimal sol’n n Time: O(n lg n) n Can use incremental algorithm to exploit coherence

The Big Question How should we evaluate and regulate the visual fidelity of our simplifications?

Measuring Fidelity Fidelity of a simplification to the original model is often measured geometrically: METRO by Visual Computing Group, CNR-Pisa

Measuring Error Most LOD algorithms measure error geometrically –What is the distance between the original and simplified surface? –What is the volume between the surfaces? –Etc Really this is just an approximation to the actual visual error, which includes: –Color, normal, & texture distortion –Importance of silhouettes, background illumination, semantic importance, etc.

Measuring Visual Fidelity l The most important measure of fidelity is usually not geometric but perceptual – Does the simplification look like the original? l Therefore: – Some work on a principled framework for LOD, based on perceptual measures of visual fidelity

Perceptual LOD Idea: measure local simplification measures against a perceptual model to predict whether the user can could see the effect of simplification Model: contrast sensitivity function

Perception 101: Contrast Sensitivity Function Contrast grating tests produce a contrast sensitivity function –Threshold contrast vs. spatial frequency –CSF predicts the minimum detectable static stimuli

Campbell-Robson Chart by Izumi Ohzawa Your Personal CSF

Measuring Visual Error Measuring error –Image-based ideas Lindstrom & Turk, SIGGRAPH 2000 –Perceptually-based ideas Luebke & Hallen, EGRW 2001 Williams, Luebke, Cohen, Kelley & Schubert, I3D 2003