Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

GR2 Advanced Computer Graphics AGR
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.
IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel.
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Guided Visibility Sampling Peter Wonka, Michael Wimmer, Kaichi Zhou, Stefan Maierhofer, Gerd Hesina, Alexander Reshetov.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Fast Agglomerative Clustering for Rendering Bruce Walter, Kavita Bala, Cornell University Milind Kulkarni, Keshav Pingali University of Texas, Austin.
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.
Spatial Data Structure: Quadtree, Octree,and BSP tree Mengxia Zhu Fall 2007.
Adaptive Global Visibility Sampling Jiří Bittner 1, Oliver Mattausch 2, Peter Wonka 3, Vlastimil Havran 1, Michael Wimmer 2 1 Czech Technical University.
Ray Space Factorization for From-Region Visibility Authors: Tommer Leyvand, Olga Sorkine, Daniel Cohen-Or Presenter: Alexandre Mattos.
RT08, August ‘08 Large Ray Packets for Real-time Whitted Ray Tracing Ryan Overbeck Columbia University Ravi Ramamoorthi Columbia University William R.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
Hidden Surface Removal
Samuli Laine: A General Algorithm for Output-Sensitive Visibility PreprocessingI3D 2005, April 3-6, Washington, D.C. A General Algorithm for Output- Sensitive.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
-Global Illumination Techniques
Accelerating Ray Tracing using Constrained Tetrahedralizations Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday,
The BSP-tree from Prof. Seth MIT.. Motivation for BSP Trees: The Visibility Problem We have a set of objects (either 2d or 3d) in space. We have.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Institute of C omputer G raphics, TU Braunschweig Hybrid Scene Structuring with Application to Ray Tracing 24/02/1999 Gordon Müller, Dieter Fellner 1 Hybrid.
Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Graphics Topics in VR By Shaun Nirenstein.
Heuristic Optimization Methods Greedy algorithms, Approximation algorithms, and GRASP.
Adaptive Display Algorithmfor Interactive Frame Rates.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Stefan Popov Space Subdivision for BVHs Stefan Popov, Iliyan Georgiev, Rossen Dimov, and Philipp Slusallek Object Partitioning Considered Harmful: Space.
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute.
View-dependent Adaptive Tessellation of Spline Surfaces
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Ray Tracing II. HW1 Part A due October 10 Camera module Object module –Read from a file –Sphere and Light only Ray tracer module: –No shading. No reflection.
Advanced topics Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2006/01/04 with slides by Brian Curless, Zoran Popovic, Mario Costa Sousa.
Soft Shadow Volumes for Ray Tracing
Ray Tracing Optimizations
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing 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”
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Ray Tracing Acceleration (3)
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Visibility-Driven View Cell Construction Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Bounding Volume Hierarchies and Spatial Partitioning
Real-Time Soft Shadows with Adaptive Light Source Sampling
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Bounding Volume Hierarchies and Spatial Partitioning
Real-Time Ray Tracing Stefan Popov.
Accelerated Single Ray Tracing for Wide Vector Units
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
Presentation transcript:

Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology

Set of objects Object space subdivision Set of view cells View space subdivision For each view cell: Compute potentially visible set (PVS) Runtime Locate view cell Render PVS Oliver Mattausch 1 Visibility Preprocessing That’s what we are optimizing

2 objects3 objects4 objects Example: Object Space Subdivision Oliver Mattausch 2 Result: Set of objectsStart: 1 object (=scene) OBJ 1 OBJ 2 OBJ 3 OBJ 4

Oliver Mattausch 3 Example: View Space Subdivison VC3 View space VC1VC2 VC4 Result: Set of view cells Occluder

Oliver Mattausch 4 Object / View Space Subdivision City scene Object space subdivision View space subdivision

First subdivide object space Then subdivide view space Oliver Mattausch 5 Previous Approach VC1 VC3 VC2 VC4 View Space Occluder Triangle soup

Object space subdivision Bounding volume hierarchy (BVH) Surface area heuristic (SAH) View space subdivision kD-Tree Visibility-Driven View Space Construction [Mattausch06] Oliver Mattausch Previous Approach BVH Parent bounding box 6

Oliver Mattausch 7 Visibility-Based View Space Construction BSP [Teller 92]Visibility-Based LowHigh Render cost

Motivation Focus of previous work either on Object space subdivision View space subdivison But the problem is interconnected! Oliver Mattausch 8 VC3 VC1VC2 VC4

Object space subdivision too shallow Oliver Mattausch 9 Motivation: Previous approach VC1VC2 VC4 View Space  High render cost VC3 Triangles per view cell: 4.5 Objects per view cell: 1

Object space subdivision too deep + High render cost (setup cost per object!) Oliver Mattausch 10 Motivation: Previous approach VC1 VC3 VC2 VC4 View Space  High storage cost Triangles per view cell: 2.25 Objects per view cell: 2.25

Object space subdivision optimal Oliver Mattausch 11 Motivation: Previous approach VC1 VC3 VC2 VC4 View Space  Low render + storage cost Triangles per view cell: 2.25 Objects per view cell: 1

Motivation Previous approach Object space subdivision: Can be too shallow / too deep View space subdivision cannot fix this! Our approach Interleave view and object space splits

Oliver Mattausch 13 Our Approach: Interleaved Subdivisions We search optimal combined subdivisions for a given memory budget Very complex problem  greedy algorithm Treat view / object space splits equally Apply next best split Either view or object space

Oliver Mattausch 14 Example: Sphere through hole LowHigh Render cost Sphere View space - algorithm subdivides high render cost regions - algorithm subdivides only visible front Sphere can be seen only through hole

Oliver Mattausch 15 Our Approach: Outline Visibility sampling  Estimate render cost 2. Interleaved subdivisions  Interleave view and object space splits 

Oliver Mattausch 16 Visibility Sampling Fast stochastic sampling Casts rays from viewpoints towards scene objects Coarse estimate of visibility View space = scene bounding box View space = distant region

Oliver Mattausch 17 Render Time Heuristics Minimize expected rendering time S = set of view cells p = probability of view point inside a view cell (~volume of view cell) r = render time estimate [Wimmer03] c = expected rendering time (cost to minimize)

Objects seen from both parts  Memory cost increase Compute render cost decrease due to split Oliver Mattausch 18 View Space Split: Evaluation Left PVS: 6 objectsRight PVS: 6 objects View cell Visibility sampling Split plane Obj PVS: 8 objects Occluder

Oliver Mattausch 19 Object Space Split: Evaluation Dual to view space split View cells which see only one side of the split: Reduction of # triangles in PVS

Oliver Mattausch 20 Interleaved Subdivisions Each split (view / object) induces Render cost decrease Memory cost increase Leaves of view or object space hierarchy: Compute local split plane Candidates for the next split View space hierarchyObject space hierarchy Split candidates

Oliver Mattausch 21 Interleaved Subdivisions Decrease render cost until memory budget is reached Related to knapsack problem Items: Candidates for next split Benefit: Render time decrease Cost: Memory cost increase

Object space Priority queue of candidates for a split Priority p = dR / dM dR = render time decrease dM = memory cost increase Apply next best split: Oliver Mattausch 22 Interleaved Subdivisions Render cost Memory Object space split View space split View space Limit

Oliver Mattausch 23 Interleaved Subdivisions: Complexity Each split affects other candidates for a split Full reevaluation would be very costly We use some optimizations Object space split - affects all view cells which see this object

Oliver Mattausch 24 Optimized Algorithm 1.Start with very coarse object space subdivision  Use surface area heurisic  Alternatively, split by materials, size 2.Choose next best split (view or object) 3.Apply batch of splits  From either view or object space 4.For split candidates affected by previous splits  Reevaluate some random candidates

Oliver Mattausch 25 Results Our method vs. previous approach Previous approach: Sequential subdivision (SEQ-n) First object space (n objects) Then view space [Mattausch et al. EGSR06] Our method: Interleaved subdivisions ( INT) All methods: Subdivide until memory budget is reached

Oliver Mattausch 26 Results Arena 1.5M triangles Coarse visibility: 5M visibility samples 30 MB memory budget Evaluation: We use the full visibility solution

Oliver Mattausch 27 Results Arena Render cost Memory cost (MB) Speedup of 2.72 – 4.45

Oliver Mattausch 28 Results Arena: Timings MethodTime [min] SEQ-1K10.3 SEQ-30K10.8 SEQ-60K11.0 INT30.3

Oliver Mattausch 29 Conclusions View and object space subdivisions interconnected Interleave subdivisions Greedy algorithm for solving complex problem Coarse estimate of visibility Good results with 5M samples or more Further investigate required sample density Adaptive version

Funded by GameTools Project Leading edge 3D research Geometry/Plants, Visibility, Illumination C++ & Direct3D 9/OpenGL Free for European companies Oliver Mattausch 30

Oliver Mattausch 31 Optimized Subdivisions Thank you for your attention!

Oliver Mattausch 32 Results Arena Ratio view / object space splits # Splits

Object Space Split: Evaluation View cells seeing object View cells see both parts View cells see left part View cells see right part Visibility samplingSplit plane Object 33 Oliver Mattausch Occluder

Oliver Mattausch 34 Results Arena (Parameter set 1) Render cost Memory cost (MB) Speedup of 1.22 – 3.08

Oliver Mattausch 35 Results Arena Ratio view / object space splits # Splits

Oliver Mattausch 36 Results Arena: Statistics MethodTime [min]View cellsObjects SEQ-1K SEQ-30K SEQ-60K INT

Oliver Mattausch 37 Visibility-Based Object Splits Use visibility-based heuristics for local split Place split plane with respect to minimal cost Sweep algorithm for finding split plane

Render Time Heuristics Render time estimate Plug in any suitable model E.g., a simple model: max (a * # triangles, b * # objects, c * # pixels) Fit parameters to requirements of the engine Oliver Mattausch 38

Objects seen from both parts  Memory cost increase Compute render cost decrease due to split Oliver Mattausch 39 View Space Split: Evaluation Left PVS: 6 objectsRight PVS: 6 objects View cell Visibility sampling Split plane Obj PVS: 8 objects Occluder