Real-Time Rendering & Game TechnologyDemo TimeRecap: Level of DetailSlide 4Level of Detail: The Big QuestionsSlide 6Slide 7Some BackgroundTraditional Approach: Discrete Level of DetailDiscrete LOD: AdvantagesSlide 11Discrete LOD: DisadvantagesDrastic Simplification: The Problem With Large ObjectsDrastic Simplification: The Problem With Small ObjectsDrastic SimplificationContinuous Level of DetailContinuous LOD: AdvantagesSlide 18Slide 19View-Dependent LOD: ExamplesSlide 21Slide 22Slide 23View-Dependent LOD: AdvantagesAn Aside: Hierarchical LODAn Aside: Hierarchical LODSummary: LOD FrameworksChoosing LODs: LOD Run-Time ManagementChoosing LODsSlide 30Choosing LODs Maintaining constant frame rateChoosing LODs: Maintaining constant frame rateChoosing LODs: Funkhouser & Sequin, SIGGRAPH 93The Big QuestionMeasuring FidelityMeasuring ErrorMeasuring Visual FidelityPerceptual LODPerception 101: Contrast Sensitivity FunctionYour Personal CSFMeasuring Visual ErrorReal-Time Rendering & Game TechnologyCS 446/651David LuebkeDemo TimeNew card not installed yet so…Recap: Level of DetailThe basic idea:249,924 polys 62,480 polys 7,809 polys 975 polysRecap: Level of DetailThe basic idea:Level of Detail:The Big QuestionsHow to represent and generate simpler versions of a complex model?Courtesy Stanford 3D Scanning Repository69,451 polys 2,502 polys 251 polys 76 polysLevel of Detail:The Big QuestionsHow to evaluate the fidelity of the simplified models?Courtesy Stanford 3D Scanning Repository69,451 polys 2,502 polys 251 polys 76 polysLevel of Detail:The Big QuestionsWhen to use which LOD of an object?Courtesy Stanford 3D Scanning Repository69,451 polys 2,502 polys 251 polys 76 polysSome BackgroundHistory of LOD techniques–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 DetailTraditional 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 LODDiscrete LOD:AdvantagesSimplest programming model; decouples simplification and rendering–LOD creation need not address real-time rendering constraints–Run-time rendering need only pick LODsDiscrete LOD:AdvantagesFits 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 simplificationSome problem cases:–Terrain flyovers–Volumetric isosurfaces–Super-detailed range scans–Massive CAD modelsDiscrete LOD:DisadvantagesDrastic Simplification: The Problem With Large ObjectsCourtesy IBM and ACOGDrastic Simplification: The Problem With Small ObjectsCourtesy Electric BoatDrastic SimplificationFor drastic simplification:–Large objects must be subdivided–Small objects must be combinedDifficult or impossible with discrete LODSo what can we do?Continuous Level of DetailA 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:AdvantagesBetter 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/polygonContinuous LOD:AdvantagesBetter granularity smoother transitions–Switching between traditional LODs can introduce visual “popping” effect–Continuous LOD can adjust detail gradually and incrementally, reducing visual popsCan even geomorph the fine-grained simplification operations over several frames to eliminate pops [Hoppe 96, 98]Continuous LOD:AdvantagesSupports 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 detailView-Dependent LOD: ExamplesShow nearby portions of object at higher resolution than distant portionsView from eyepointBirds-eye viewView-Dependent LOD: ExamplesShow silhouette regions of object at higher resolution than interior regionsView-Dependent LOD:ExamplesShow more detail where the user is looking than in their peripheral vision:34,321 trianglesView-Dependent LOD:ExamplesShow more detail where the user is looking than in their peripheral vision:11,726 trianglesView-Dependent LOD:AdvantagesEven better granularity–Allocates polygons where they are most needed, within as well as among objects–Enables even better overall fidelityEnables drastic simplification of very large objects–Example: stadium model–Example: terrain flyoverAn Aside: Hierarchical LODView-dependent LOD solves the Problem With Large ObjectsHierarchical 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 LODHierarchical LOD dovetails nicely with view-dependent LOD–Treat the entire scene as a single object to be simplified in view-dependent fashionHierarchical LOD can also sit atop traditional discrete LOD schemes–Imposters [Maciel 95]–HLODs [Erikson 01]Summary: LOD FrameworksDiscrete LOD–Generate a handful of LODs for each objectContinuous LOD (CLOD)–Generate data structure for each object from which a spectrum of detail can be extractedView-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 detailHierarchical LOD–Aggregate objects into assemblies with their own LODsChoosing LODs:LOD Run-Time ManagementFundamental LOD issue: where in the scene to allocate detail?–For discrete LOD this equates to choosing which
View Full Document