Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. A General Algorithm for Output- Sensitive.

Slides:



Advertisements
Similar presentations
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Advertisements

Restart Trail for Stackless BVH Traversal Samuli Laine NVIDIA Research.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Greedy Algorithms Greed is good. (Some of the time)
Computing Kemeny and Slater Rankings Vincent Conitzer (Joint work with Andrew Davenport and Jayant Kalagnanam at IBM Research.)
Searching on Multi-Dimensional Data
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
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.
Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,
Junction Trees: Motivation Standard algorithms (e.g., variable elimination) are inefficient if the undirected graph underlying the Bayes Net contains cycles.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Clipping II, Hidden Surfaces.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
1 From-Point Occlusion Culling From-Point Occlusion Culling Chapter 23.
Apex Point Map for Constant-Time Bounding Plane Approximation Samuli Laine Tero Karras NVIDIA.
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.
B + -Trees (Part 2) COMP171. Slide 2 Review: B+ Tree of order M and of leaf size L n The root is either a leaf or 2 to M children n Each (internal) node.
AALG, lecture 11, © Simonas Šaltenis, Range Searching in 2D Main goals of the lecture: to understand and to be able to analyze the kd-trees and.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
1 A Hierarchical Shadow Volume Algorithm Timo Aila 1,2 Tomas Akenine-Möller 3 1 Helsinki University of Technology 2 Hybrid Graphics 3 Lund University.
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.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
Spatial Data Management Chapter 28. Types of Spatial Data Point Data –Points in a multidimensional space E.g., Raster data such as satellite imagery,
10/09/2001CS 638, Fall 2001 Today Spatial Data Structures –Why care? –Octrees/Quadtrees –Kd-trees.
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”
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”
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
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.
1 Trees 4: AVL Trees Section 4.4. Motivation When building a binary search tree, what type of trees would we like? Example: 3, 5, 8, 20, 18, 13, 22 2.
10/23/2001CS 638, Fall 2001 Today Terrain –Terrain LOD.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
Hank Childs, University of Oregon Isosurfacing (Part 3)
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Maths & Technologies for Games Spatial Partitioning 2
Soft Shadow Volumes for Ray Tracing
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Game Engine Design Quake Engine Presneted by Holmes 2002/12/2.
Lecture 8CSE Intro to Cognitive Science1 Interpreting Line Drawings II.
Ray Tracing Acceleration (5). Ray Tracing Acceleration Techniques Too Slow! Uniform grids Spatial hierarchies K-D Octtree BSP Hierarchical grids Hierarchical.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Solid Modeling Dr. Scott Schaefer.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Ray Tracing Acceleration (3)
Visibility-Driven View Cell Construction Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Spatial Data Management
CSE 554 Lecture 5: Contouring (faster)
Mean Shift Segmentation
CSCE 441: Computer Graphics Hidden Surface Removal
Alias-Free Shadow Maps
A Hierarchical Shadow Volume Algorithm
Presentation transcript:

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. A General Algorithm for Output- Sensitive Visibility Preprocessing Samuli Laine Helsinki University of Technology / TML Hybrid Graphics, Ltd.

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Visibility Preprocessing Goal: avoid rendering hidden objects Utilize static occlusion Pre-process = compute visible sets (VS) –Divide accessible space into viewcells –Find visible objects for each viewcell Run-time = use VS –Identify viewcell of the camera –Draw objects in the VS of the viewcell Use VS of the viewcell as the PVS for the camera

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Basic Properties of Visibility Sightlines are straight The VS of a viewcell is the union of –Objects that overlap the viewcell –Objects visible from the boundary of the viewcell Viewcell Object 2 Object 1

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Computing the VS of a viewcell Rasterization [Nirenstein & Blake 2004] –Pick a viewpoint on the viewcell’s boundary –Render the scene –Add objects in the image to the VS of the cell –Repeat until happy Exact [Bittner 2002, Nirenstein et al. 2002] –Complicated, works in 6D dual space –Slow Many conservative methods

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. What About Multiple Viewcells? Computing the VS of each viewcell separately is inefficient –Does not utilize coherence of visibility Previous solution: Hierarchical refinement [Cohen-Or et al. 1998, Gotsman et al. 1999, Durand et al. 2000, Bittner 2002, Nirenstein & Blake 2004]

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Hierarchical Refinement Construct a hierarchy of viewcells First compute VS of root cell Split the cell into two child cells Recurse to the children Stop recursion when leaf cells (= final viewcells) are reached

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Hierarchical Refinement, cont’d The VS of parent cell bounds the VS of child cell –Not visible to the parent cell  not visible to the child cell Good: hierarchical pruning of objects Bad: still redundant work in internal cells –We only need the VS of the leaf cells –But we find the VS of the internal cells too –Let’s remove this redundancy

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Removing the Hierarchy The parent cell is not the only possible source for VS bounds Idea: use the VS of the neighbor cells –Consider cell C and the set of its neighbors N –Not visible to any N  not visible to C either Except if inside C, which is a trivial case –Cells must cover the entire world No hierarchy required

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Removing the Hierarchy, cont’d Major trouble: nowhere to start! –All cells depend on their neighbors –Cyclic dependencies  C N1N1 N5N5 N4N4 N3N3 N2N2

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Removing the Cyclic Dependencies Assumption: viewcells are axis-aligned Let’s constrain the sightline directions –Divide direction space into 2 dim partitions 4 quadrants in 2D 8 octants in 3D Define directed visible set (DVS) as the set of objects visible to a viewcell, but with constrained sightline directions –This is the key idea of the algorithm

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Bounding the DVS Similar to bounding the VS with neighbors But now we may use only a subset of N –Because we have constrained the sightline directions No more cyclic dependencies –Except in funny situations, see paper C N1N1 N2N2 N3N3

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Example: Regular Grid Sightline directions constrained to top left quadrant Cell C depends on A and B Cell X depends on nothing  start there X C A B

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Ordering the Computation Construct a dependence graph –Nodes are viewcells, edges are dependencies –Edge from A to B, if A depends on B Sort the graph topologically –Linear-time operation –Always possible if the graph contains no cycles Process cells in sorted order  can always get DVS bounds

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Dependence Graph: Example Cells and dependenciesSorted dependence graph

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. The Full Algorithm For each quadrant / octant –Construct dependence graph –Process cells in sorted order –For each cell: Compute the bounds for DVS Call visibility solver with the bounds to obtain DVS Add objects in DVS to VS

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Constraining the Visibility Solver Rasterization-based method –Render images that correspond to casting rays to the allowed directions

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Experimental Results Synthetic scene –Control over the amount of visibility Compare against hierarchical refinement –With point caching [Nirenstein & Blake 2004] Re-uses visibility samples taken at internal cells Use rasterization for solving the visibility Measure the average number of objects rasterized by the visibility solver

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Experimental Results: Scenes 10% of tunnels open  small visible sets 100% of tunnels open  large visible sets

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Experimental Results, cont’d Average VS size, % of objects Improvement over hierarchical refinement

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. Summary Output-Sensitive –The workload is only affected by the number of visible objects Proof in the paper No need to consider the entire scene at any time –We always have a subset of objects to process –Nice property if we have massive worlds Straightforward to implement

Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. That’s It Questions Thanks –Discussions: Timo Aila, Lauri Savioja –Funding: National Technology Agency of Finland, Bitboys, Hybrid Graphics, Nokia, Remedy Entertainment