“Level of Detail Management for 3D Games” Martin Reddy Pixar Animation Studios Terrain Level Of Detail.

Slides:



Advertisements
Similar presentations
Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids
Advertisements

Yang Yang, Miao Jin, Hongyi Wu Presenter: Buri Ban The Center for Advanced Computer Studies (CACS) University of Louisiana at Lafayette 3D Surface Localization.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
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.
Terrain Level of Detail
Terrain rendering in games
Geometric Algorithms in 3D Real-Time Rendering and facial Expression Modeling Prof. Marina L. Gavrilova University of Calgary.
1 Terrain. Game Type Oriented Game Type Oriented Terrain Terrain –For visual ( 廣義的場景 ) »Ground / Building / Static models / Dynamic models –For terrain.
Honours Graphics 2008 Session 6. Today’s focus Terrain rendering Heightfield generation Level-of-detail for terrain.
1 Further Terrain Rendering and Level of Detail Lecture 8 - Week 4 Advanced Programming for 3D Applications CE
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Adaptive Streaming and Rendering of Large Terrains using Strip Masks Joachim Pouderoux and Jean-Eudes Marvie IPARLA Project (LaBRI – INRIA Futurs) University.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Maps as Numbers Lecture 3 Introduction to GISs Geography 176A Department of Geography, UCSB Summer 06, Session B.
Content Subdivision First some basics (control point polygon, mesh)
Irregular to Completely Regular Meshing in Computer Graphics Hugues Hoppe Microsoft Research International Meshing Roundtable 2002/09/17 Hugues Hoppe Microsoft.
1 Terrain Rendering and Level of Detail Week 7 Advanced Programming for 3D Applications CE
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Rendering of Realistic Landscapes K. H. Ko Department of Mechatronics Gwangju Institute of Science and Technology October 31, 2007.
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes,
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
GI Systems and Science January 23, Points to Cover  What is spatial data modeling?  Entity definition  Topology  Spatial data models Raster.
Qiang Gao 10/13/2009 3D Terrain Modeling with Real Elevation Data.
Spatial data models (types)
CS-378: Game Technology Lecture #11: Visibility Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
Applied Cartography and Introduction to GIS GEOG 2017 EL Lecture-2 Chapters 3 and 4.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
Chapter 3 Digital Representation of Geographic Data.
Raster Data Model.
Applied Mathematics 1 Do we have to see everything - all the time? …or is it at all possible? Dr. ing. Rune Aasgaard.
Spatial Databases: Digital Terrain Model Spring, 2015 Ki-Joune Li.
 proposed work This project aims to design and develop a framework for terrain visualization flexible enough to allow arbitrary visualization of terrain.
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.
Issues in Terrain Visualization for Environmental Monitoring Applications Ricardo Veguilla Nayda G. Santiago.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 2, 2002 Day 6.
10/23/2001CS 638, Fall 2001 Today Terrain –Terrain LOD.
Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.
SpaDaGIS Efficiency Issues in Multi-resolution Terrain Modeling Leila De FlorianiPaola Magillo Leila De Floriani * Paola Magillo Department of Computer.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Supported By Understanding the dynamics of the hydrological phenomena associated to wetlands requires analyzing data gathered from.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Applied Mathematics 1 Distributed visualization of terrain models How to get the whole world into a coffee mug... Rune Aasgaard.
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Fifth International Conference on Curves and Surfaces Incremental Selective Refinement in Hierarchical Tetrahedral Meshes Leila De Floriani University.
Graphics, Modeling, and Textures Computer Game Design and Development.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
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.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Terrain Level of Detail
Level of Detail (LOD) Models Part Two
CS679 - Fall Copyright Univ. of Wisconsin
Spatial Databases: Digital Terrain Model
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Spatial Databases: Digital Terrain Model
Distributed Handling of large Level of Detail Surfaces
Presentation transcript:

“Level of Detail Management for 3D Games” Martin Reddy Pixar Animation Studios Terrain Level Of Detail

Contents l Background –History, applications, data sizes l Important Concepts –regular grids v TINs, quadtrees v bintrees, out-of-core paging, web streaming l Implementations –Lindstrom 96, Duchaineau 97, Röttger 98, Hoppe 98, DeFloriani 00, Lindstrom 01 l Available software

Gameplay Goals for Terrain l Large enough to travel around for hours l Detailed when seen at human scale l Dynamic modification of terrain data l Runs at high, stable frame rates l Need fast rotation of viewpoint From Jonathan Blow’s SIGGRAPH 2000 Course:

Background l One of the first real uses of LOD l Important for applications such as –Flight simulators –Terrain-based computer games –Geographic Information Systems (GIS) –Virtual tourism, real-estate, mission planning l Sustained R&D since the 1970s l Other terms include –generalization (GIS)

Terrain LOD Example Screenshot of the Grand Canyon with debug view using the Digital Dawn Toolkit, now incorporated into Crystal Space Screenshot of the Grand Canyon with debug view using the Digital Dawn Toolkit, now incorporated into Crystal Space

Terrain LOD vs Generic LOD l Terrain is easier... –Geometry is more constrained –Normally uniform grids of height values –More specialized and simpler algorithms l Terrain is more difficult... –Continuous and very large models –Simultaneously very close and far away –Necessitates view-dependent LOD –Often requires paging from disk (out-of-core)

Large Terrain Databases l USGS GTOPO30 –30 arc-second (~1 km) resolution elevation –43,200 x 21,600 = 1.8 billion triangles l NASA EOS satellite ASTER –30-m resolution elevation data –from 15-m near infrared stereo imagery l USGS National Elevation Dataset (NED) –50,000 quads at around 50 GB

Regular Grids l Uniform array of height values l Simple to store and manipulate l Encode in raster formats (DEM, GeoTIFF) l Easy to interpolate to find elevations l Less disk/memory (only store z value) l Easy view culling and collision detection l Used by most implementers

TINs l Triangulated Irregular Networks l Fewer polygons needed to attain required accuracy l Higher sampling in bumpy regions and coarser in flat ones l Can model maxima, minima, ridges, valleys, overhangs, caves l Used by Hoppe 98 & DeFloriani 00

LOD Hierarchy Structures QuadTree Hierarchy BinTree Hierarchy

Quadtrees l Each quad is actually two triangles l Produces cracks and T-junctions l Easy to implement l Good for out-of-core operation

Bintrees l Terminology –binary triangle tree (bintree, bintritree, BTT) –right triangular irregular networks (RTIN) –longest edge bisection l Easier to avoid cracks and T-junctions l Neighbor is never more than 1 level away l Used by Lindstrom 96 & Duchaineau 97

Cracks and T-Junctions l Avoid cracks: –Force cracks into T-junctions / remove floating vertex –Fill cracks with extra triangles l Avoid T-junctions: –Continue to simplify...

Avoiding T-junctions

Split(BinTri *tri) { if tri->BottomNeighbor is valid { if tri->BottomNeighbor->BottomNeighbor != tri { Split(tri->BottomNeighbor) } Split2(tri) Split2(tri->BottomNeighbor) tri->LeftChild->RightNeighbor = tri->BottomNeighbor->RightChild tri->RightChild->LeftNeighbor = tri->BottomNeighbor->LeftChild tri->BottomNeighbor->LeftChild->RightNeighbor = tri->RightChild tri->BottomNeighbor->RightChild->LeftNeighbor = tri->LeftChild } else { Split2(tri) tri->LeftChild->RightNeighbor = 0; tri->RightChild->LeftNeighbor = 0; } Split2(tri) { tri->LeftChild = AllocateBinTri(); tri->RightChild = AllocateBinTri(); tri->LeftChild->LeftNeighbor = tri->RightChild tri->RightChild->RightNeighbor = tri->LeftChild tri->LeftChild->BottomNeighbor = tri->LeftNeighbor if tri->LeftNeighbor is valid { if tri->LeftNeighbor->BottomNeighbor == tri { tri->LeftNeighbor->BottomNeighbor = tri->LeftChild } else { tri->LeftNeighbor->RightNeighbor = tri->LeftChild } tri->RightChild->BottomNeighbor = tri->RightNeighbor if tri->RightNeighbor is valid { if tri->RightNeighbor->BottomNeighbor == tri { tri->RightNeighbor->BottomNeighbor = tri->RightChild } else { tri->RightNeighbor->LeftNeighbor = tri->RightChild } tri->LeftChild->LeftChild = 0 tri->LeftChild->RightChild = 0 tri->RightChild->LeftChild = 0 tri->RightChild->RightChild = 0 } Pseudo code to do triangle splitting and avoid T-junctions Code by S. McNally on GameDev.net, optimized by A. Ögren

Out-of-core operation l Virtual memory solutions –mmap() used by Lindstrom 01 –VirtualAlloc() / VirtualFree() used by Hoppe 98 l Explicit paging from disk –NPSNET (NPS): Falby 93 –VGIS (GVU): Davis 99 –OpenGL Performer Active Surface Def (ASD) –SGI InfiniteReality (IR) Clipmapping

Streaming over the Web l TerraVision (SRI) – Leclerc 94, Reddy 99

TerraVision Movie

Texture issues l Need to handle paging of imagery as well as geometry (satellite imagery resolution is generally > than elevation resolution) l Hardware support for paging (clipmaps) l Detail textures for close-to-ground detail l Texture compression useful?

Lindstrom et al l One of first real-time view-dependent algorithms, referred to as continuous LOD (CLOD) l Regular grid, bintree, quadtree blocks –Mesh broken into rectangular blocks with a top-down coarse-grained simplification –Then per-vertex simplification performed within each block l Frame-to-frame coherence: –Maintain an active cut of blocks –Only visit vertices if could change in frame

Lindstrom et al l Vertex removal scheme Merge based upon a measure of screen- space error between the two surfaces,  Merge based upon a measure of screen- space error between the two surfaces,  Used a nonlinear mapping of  to represent in only 8 bits Used a nonlinear mapping of  to represent in only 8 bits

Lindstrom et al Hunter-Liggett US Army base 2-m res 8 x 8km 32 M polys

Lindstrom et al. 1996

Duchaineau et al l Real-time Optimally Adapting Meshes (ROAM) l Regular grid, bintree, 2 priority queues: –1 priority-ordered list of triangle splits –1 priority-ordered list of triangle merges l Frame coherence –pick up from previous frame’s queue state l Very popular with source code and implementation notes available

Duchaineau et al l “Split-Only” ROAM often used in games –Used by Seumas McNally in TreadMarks l Removes the frame coherence portion –Don’t need 2 priority-sorted queues l Implementation available as SMTerrain in the vterrain.org VTP software l Good article on Split-Only ROAM at Gamasutra by Bryan Turner

Duchaineau et al ROAM Split and Merge “Diamonds”

Duchaineau et al l Principal metric was screen-based geometric error with guaranteed bound on the error l Hierarchy of volumes called wedgies l Covers the (x,y) extent of a triangle and extends over the height range z-e T through z+e T

Duchaineau et al. 1997

Röttger et al l Extended Lindstrom’s CLOD work l Regular grid, quadtree, top-down l World space metric considered: –viewer distance & terrain roughness l Integrated vertex geomorphing l Deal with tears by skipping center vertex of higher resolution adjacent edge

Röttger et al Hawai’i

Hoppe 1998 l View-Dependent Progressive Meshes (VDPM) from Hoppe 97 applied to terrain l TIN-based, out-of-core (VirtualAlloc/Free) l Integrated vertex geomorphing l Tears between blocks avoided by not simplifying at block boundaries l Notes that larger errors can occur between grid points and precomputes maximum height deviations

Hoppe 1998 Grand Canyon, Arizona 4,097 x 2,049 8 x 4 blocks of 513 x 513

Hoppe Video

DeFloriani et al l VARIANT. Uses Multi-Triangulation (MT) l General TIN approach applied to terrain l Plug in different simp. & error routines l Supports analyses: visibility, elevation along a path, contour extraction, viewshed l Frame coherence (use previous state) l Freely available C++ library for MT

DeFloriani et al. 2000

Lindstrom & Pascucci 2001 l Visualization of Large Terrains Made Easy l Regular gridded, top-down, bintree l Out-of-core with mmap() and spatial org. l Fast hierarchical culling, triangle stripping, and optional multithreading of refinement and rendering tasks l Uses a nesting of error metric terms (bounding spheres)

Lindstrom & Pascucci 2001 Puget Sound, Washington 16,385 x 16, MB

Lindstrom & Pascucci Video

Available Software l Virtual Terrain Project (VTP) – l TerraVision – l SOAR – l ROAM – l Source code links (ROAM, VTP, MT, etc.) –

Terrain Data Resources l Large Terrain Databases – l Terrain Models on LODBook.com – l GeoVRML Data Resources Page –

End of Presentation