Introduction to Massive Model Visualization Patrick Cozzi Analytical Graphics, Inc.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Tomas Mőller © 2000 Speed-up Techniques for Real-Time Rendering or “What makes your real-time video game fly” Tomas Möller Chalmers University of Technology,
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
3D Rendering & Algorithms__ Sean Reichel & Chester Gregg a.k.a. “The boring stuff happening behind the video games you really want to play right now.”
1 A Novel Page-Based Data Structure for Interactive Walkthroughs Behzad Sajadi Yan Huang Pablo Diaz-Gutierrez Sung-Eui Yoon M. Gopi.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hidden Surface Removal
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
CSE 381 – Advanced Game Programming Basic 3D Graphics
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
Culling Techniques “To cull” means “to select from group” In graphics context: do not process data that will not contribute to the final image The “group”
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Graphics Topics in VR By Shaun Nirenstein.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
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.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Implementation II.
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Modeling, CG, and others Jyun-Ming Chen Fall 2001.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
LOD Unresolved Problems The LOD algorithms discussed previously do not perform well with large amounts of visible objects Consider a large number of tress.
Computer Graphics I, Fall 2010 Implementation II.
DPL2/10/2016 CS 551/651: Final Review David Luebke
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Rendering Large Models (in real time)
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
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.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
- Introduction - Graphics Pipeline
Computer Graphics Implementation II
Bounding Volume Hierarchies and Spatial Partitioning
Bounding Volume Hierarchies and Spatial Partitioning
Graphics Processing Unit
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
CSCE 441: Computer Graphics Hidden Surface Removal
Introduction to Computer Graphics with WebGL
Visibility Computations
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
Introduction to Computer Graphics with WebGL
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

Introduction to Massive Model Visualization Patrick Cozzi Analytical Graphics, Inc.

Contents Minimal computer graphics background Culling Level of Detail (LOD) Memory Management Videos throughout

Computer Graphics Background Goal: Convert 3D model to pixels 3D models are composed of triangles

Computer Graphics Background 1 triangle = 3 vertices Gross over simplification: 3 floats per vertex (x 0, y 0, z 0 ) (x 1, y 1, z 1 )(x 2, y 2, z 2 )

Computer Graphics Background Triangles go through graphics pipeline to become pixels View parameters define the size and shape of the world viewer near plane far plane

Computer Graphics Background CPUGPUMonitor Vertex Processing Geometry Processing Fragment Processing PCIe Bus Color Depth Stencil

Computer Graphics Background Visible Surfaces

Example Massive Models Procedurally generated model of Pompeii: ~1.4 billion polygons. Image from [Mueller06]

Example Massive Models Boeing 777 model: ~350 million polygons. Image from

Example Massive Models

Trends No upper bound on model complexity – Procedural generation – Laser scans – Aerial imagery Image from [Lakhia06]

Trends High GPU throughput – At least million triangles per second Widen gap between processor and memory performance CPU – GPU bottleneck

Goal output-sensitivity: performance as a function of the number of pixels rendered, not the size of the model

View Frustum Culling Can be slower than brute force. When? culled rendered culled rendered

Bounding Volumes Spheres Axis aligned bounding boxes Object oriented bounding boxes Hybrids

View Frustum Culling

Demo

Occlusion Culling Effective in scenes with high depth complexity culled

Occlusion Culling From-region or from-point Most are conservative Occluder Fusion Difficult for general scenes with arbitrary occluders. So make simplifying assumptions: – [Wonka00] – urban environments – [Ohlarik08] – planets and satellites

Hardware Occlusion Queries From-point visibility that handles general scenes with arbitrary occluders and occluder fusion How? – Use the GPU

Hardware Occlusion Queries Render occluders Render object’s BV using HOQ Render full object based on result

Hardware Occlusion Queries CPU stalls and GPU starvation Draw o1Draw o2Draw o3 Draw o1Draw o2Draw o3 CPU GPU Query o1 Draw o1 -- stall starve -- CPU GPU

Hardware Occlusion Queries Demo

Is Culling Enough?

Level of Detail Generation: less triangles, simpler shader Selection: distance, pixel size Switching: avoid popping Discrete, Continuous, Hierarchical

Simplification Operations edge collapse Also Vertex Merge Vertex Removal Cell Collapse See [Luebke01]

Discrete LOD 3,086 Triangles 52,375 Triangles69,541 Triangles

Discrete LOD Not enough detail up close Too much detail in the distance

Continuous LOD edge collapse vertex split Image from [Luebke01]

Hierarchical LOD 1 Node 3,086 Triangles 4 Nodes 9,421 Triangles 16 Nodes 77,097 Triangles

Hierarchical LOD 1 Node 3,086 Triangles 4 Nodes 9,421 Triangles 16 Nodes 77,097 Triangles

Hierarchical LOD visit(node) { if (computeSSE(node) < pixel tolerance) { render(node); } else { foreach (child in node.children) visit(child); } Node Refinement

Hierarchical LOD

Demo

Hierarchical LOD Easy to – Add view frustum culling – Add occlusion culling via HOQs Render front to back – Use VMSSE to drive refinement Requires preprocessing Is Culling + HLOD enough?

Memory Management Out-of-Core Compression Cache Coherent Layouts

Out-of-Core HLOD visit(node) { if ((computeSSE(node) < pixel tolerance) || (not all children resident)) { render(node); foreach (child in node.children) requestResidency(child); } else { foreach (child in node.children) visit(child); }

Out-of-Core HLOD Multithreaded – Disk reads – Decompression, normal generation, etc Cache management – Prioritize reads, e.g. distance from viewer – Replacement policy Skeleton in memory? – BV, error metric, parent – child relationships

Out-of-Core Prefetching Reduce geometry cache misses Predict and load required nodes

Out-of-Core Prefetching Predict camera position [Correa03] v v’ f f’

Out-of-Core Prefetching [Varadhan02] – Coherence of Front – Prefetch ascendants/descendants – Prefetch with enlarged view frustum – Prioritize

Compression “Size is Speed” Geometric – Vertices, Indices – I/O and Rendering Performance Texture – Performance or Quality RenderDiskDe/re-compress

Cache Coherent Layouts Vertex Shader Post VS Cache Pre VS Cache GPU Main Memory Primitive Assembly Reorder Triangles Reorder Vertices Reorder vertices and indies to maximize GPU cache hits

Cache Coherent Layouts Minimize ACMR – Average Cache Miss Ratio Cache Oblivious [Yoon05] Linear Time [Sander07]

Not Covered Today Dynamic Scenes Clustered backface culling IBR, Mapping Sorting Batching Ray Tracing

Summary Combine culling, LOD, and out-of-core techniques Keep the CPU and GPU busy Exploit Coherence: Spatial and Temporal

For More Information [Gobbetti08] – Technical Strategies for Massive Model Visualization [Luebke01] – A Developer’s Survey of Polygonal Simplification Algorithms My

About Analytical Graphics, Inc COTS software for national security and space professionals Rated best place to work: rd in 2007.

Questions ?