Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

14
Level of Detail Level of Detail Management for Games Management for Games David Luebke University of Virginia Introduction, Overview Introduction, Overview

Transcript of Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Page 1: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Level of Detail Level of Detail Management for GamesManagement for Games

David LuebkeUniversity of Virginia

Introduction, OverviewIntroduction, Overview

Page 2: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course IntroductionCourse Introduction

Level of detailLevel of detail ( (LODLOD) methods are a crucial ) methods are a crucial tool for game developers tool for game developers – Manage complexity of 3D scenesManage complexity of 3D scenes– Trade off fidelity for performance Trade off fidelity for performance – Tune game for different platformsTune game for different platforms

This course will cover advanced issues in This course will cover advanced issues in LOD for gamesLOD for games

Page 3: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course PrerequisitesCourse Prerequisites

We assumeWe assume– Knowledge of the basic LOD conceptKnowledge of the basic LOD concept– Experience with interactive graphicsExperience with interactive graphics

Target audience: game developers Target audience: game developers wishing towishing to– become sophisticated LOD usersbecome sophisticated LOD users– write or modify code to create LODs write or modify code to create LODs – gain a broader perspective on the LOD fieldgain a broader perspective on the LOD field

Page 4: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course TopicsCourse Topics

Generation Generation LOD frameworks & creationLOD frameworks & creation

ApplicationApplicationApplying LOD in the game setting Applying LOD in the game setting

TheoryTheoryMeasuring & controlling fidelityMeasuring & controlling fidelity

Page 5: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

SpeakersSpeakersIn Order of AppearanceIn Order of Appearance

David Luebke, University of VirginiaDavid Luebke, University of Virginia Amitabh Varshney, University of MarylandAmitabh Varshney, University of Maryland Jon Cohen, Johns Hopkins UniversityJon Cohen, Johns Hopkins University Martin Reddy, Pixar Animation StudiosMartin Reddy, Pixar Animation Studios Ben Watson, Northwestern UniversityBen Watson, Northwestern University Rob Huebner, Nihilistic SoftwareRob Huebner, Nihilistic Software

Page 6: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course HistoryCourse History

Courses at IEEE VR and SIGGRAPHCourses at IEEE VR and SIGGRAPH Book – Book – Level of Detail for 3D GraphicsLevel of Detail for 3D Graphics

– CouponCoupon Tried to distill aTried to distill a

– Practical overview for game developersPractical overview for game developers– Useful introduction to relevant theoryUseful introduction to relevant theory– Introduction to potentially useful academic Introduction to potentially useful academic

researchresearch

Page 7: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course ScheduleCourse Schedule

1010 Luebke Luebke Welcome, Introductions Welcome, Introductions

10:1510:15 Varshney Varshney Generating LODs: AlgorithmsGenerating LODs: Algorithms

Operators and algorithms for simplificationOperators and algorithms for simplification

1111 BreakBreak

11:1511:15 Cohen Cohen Generating LODs: ErrorGenerating LODs: ErrorMeasuring error to guide simplification & Measuring error to guide simplification &

LOD LOD

1212 Reddy Reddy Runtime LOD ManagementRuntime LOD ManagementBalancing cost, benefit, and rendering Balancing cost, benefit, and rendering

budgetbudget

1212:30:30 LunchLunch

Page 8: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Course ScheduleCourse Schedule

22 Watson Watson Generating LODs: TopicsGenerating LODs: TopicsArtist-assisted and out-of-core simplificationArtist-assisted and out-of-core simplification

33 Luebke, Luebke, View-Dependent LODView-Dependent LOD

VarshneyVarshney Higher fidelity per polygon…at a costHigher fidelity per polygon…at a cost

44 BreakBreak

4:154:15 Reddy Reddy Terrain SimplificationTerrain SimplificationAlgorithms for an important special caseAlgorithms for an important special case

55 Huebner Huebner Game LOD: Geometric LODGame LOD: Geometric LODPlatform challenges, LOD in game productionPlatform challenges, LOD in game production

5:305:30 Huebner Huebner Game LOD: Beyond GeometryGame LOD: Beyond GeometryTextured imposters, shader LOD, and moreTextured imposters, shader LOD, and more

Page 9: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

LOD Course notesLOD Course notes

Some slides are available on GDC CDSome slides are available on GDC CD All slides will be available at All slides will be available at lodbook.comlodbook.com

– Web site for our bookWeb site for our book ““Level of Detail for 3D Graphics”Level of Detail for 3D Graphics” 20% coupon available from speakers20% coupon available from speakers

– Lots of other info available at the web site!Lots of other info available at the web site! Publicly available LOD source codePublicly available LOD source code Links to commercial tools, sample modelsLinks to commercial tools, sample models Full bibliographyFull bibliography

Page 10: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Level of Detail: Level of Detail: The Basic IdeaThe Basic Idea

In its most common form:In its most common form:– Simplify the amount of detail used to render Simplify the amount of detail used to render

small or distant objectssmall or distant objects– Known as Known as Level of DetailLevel of Detail or or LODLOD

A.k.a. polygonal simplification, geometric A.k.a. polygonal simplification, geometric simplification, mesh reduction, decimation, simplification, mesh reduction, decimation, multiresolution modeling, …multiresolution modeling, …

Page 11: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Courtesy Stanford 3D Scanning Repository

69,451 polys 2,502 polys 251 polys 76 polys

Level of Detail:Level of Detail:Traditional ApproachTraditional Approach

CreateCreate levels of detail (LODs) of objects:

Page 12: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Distant objects use coarser LODs:Distant objects use coarser LODs:

Level of Detail:Level of Detail:Traditional ApproachTraditional Approach

Page 13: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Discrete Level of DetailDiscrete Level of Detail

Traditional LOD in a nutshell:Traditional LOD in a nutshell:– Create LODs for each object separately, using Create LODs for each object separately, using

artists or a software preprocessartists or a software preprocess– At run-time, pick each object’s LOD according to At run-time, pick each object’s LOD according to

object distance or similar criterionobject distance or similar criterion Other approaches are possibleOther approaches are possible

– Continuous LOD, view-dependent LOD, terrain Continuous LOD, view-dependent LOD, terrain LOD, imposters, shader LOD, etc.LOD, imposters, shader LOD, etc.

– We will discuss these throughout the tutorialWe will discuss these throughout the tutorial

Page 14: Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.

Next: Generating LODsNext: Generating LODs

Next topics:Next topics:– Amitabh will discuss algorithms and Amitabh will discuss algorithms and

operators for creating simple LODs from operators for creating simple LODs from complex modelscomplex models

– Jon will discuss error metrics to guide and Jon will discuss error metrics to guide and evaluate LOD creationevaluate LOD creation