Download presentation
Presentation is loading. Please wait.
Published byAlvin Eaton Modified over 8 years ago
1
Visibility-Driven View Cell Construction Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology
2
Oliver Mattausch, Jiří Bittner, Michael Wimmer 1 Motivation BSP [Teller 92]Our method LowHigh Render Time
3
Oliver Mattausch, Jiří Bittner, Michael Wimmer 2 Introduction Visibility preprocessing Partition view space into view cells Compute PVS for each view cell Runtime Locate the view cell Render PVS View cell construction got little attention But as important as PVS computation
4
Oliver Mattausch, Jiří Bittner, Michael Wimmer 3 Our Goal Create good view cells for general 3D scenes What are good view cells? Fast rendering Low memory consumption
5
Oliver Mattausch, Jiří Bittner, Michael Wimmer 4 Example 1 LowHigh Render Time
6
Oliver Mattausch, Jiří Bittner, Michael Wimmer 5 Example 2 On the ground: A few buildings visible Above the roofs: Many buildings visible => Should belong to separate view cells
7
Oliver Mattausch, Jiří Bittner, Michael Wimmer 6 Previous Work Cells and Portals KD tree [Airey90] BSP tree [Teller92] Breaking the walls [Lerner03] Watershed [Haumont03] Implicit construction (during visibility computation) Adaptive sampling [Nirenstein03] Visibility Octree [Saona-Vázquez99] 5D sampling [Gotsman99]
8
Oliver Mattausch, Jiří Bittner, Michael Wimmer 7 View Cell Construction Main idea: 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)
9
Oliver Mattausch, Jiří Bittner, Michael Wimmer 8 View Cell Construction 1.2.3. Three steps 1. Visibility sampling 2. View space subdivision 3. View space merging
10
Oliver Mattausch, Jiří Bittner, Michael Wimmer 9 View Cell Construction 1.2.3. Three steps 1. Visibility sampling 2. View space subdivision 3. View space merging
11
Oliver Mattausch, Jiří Bittner, Michael Wimmer 10 Visibility Sampling Fast stochastic sampling Casts rays from potential viewpoints towards scene objects Coarse estimate of visibility (~1M samples) View space = scene bounding box View space = distant region
12
Oliver Mattausch, Jiří Bittner, Michael Wimmer 11 Visibility Sampling Compute maximal free segments Optionally detect empty view space Viewpoint inside the wall Valid Invalid Valid Visibility samples
13
Oliver Mattausch, Jiří Bittner, Michael Wimmer 12 View Cell Construction 1.2.3. Three steps 1. Visibility sampling 2. View space subdivision 3. View space merging
14
Oliver Mattausch, Jiří Bittner, Michael Wimmer 13 View Space Subdivision Binary Space Partitioning (BSP) Geometry-aligned splits Axis-aligned splits Greedy optimization: select next best split 2 stage method 1. Compute locally best split within each leaf 2. Take globally best split (priority queue)
15
Oliver Mattausch, Jiří Bittner, Michael Wimmer 14 Splitting Plane Selection Minimize render cost PVS computed from visibility samples
16
Oliver Mattausch, Jiří Bittner, Michael Wimmer 15 C(Left + Right) = 186C(Left + Right) = 224C(Left + Right) = 228 C(Right) = 28 * 8 C(Left) = 6 * 5C(Left) = 18 * 7C(Left) = 26 * 8C(Left) = 28 * 8C(Left) = 2 * 4C(Left) = 14 * 5 C(Right) = 24 * 7C(Right) = 12 * 5C(Right) = 4 * 4C(Right) = 2 * 2C(Right) = 16 * 5 Splitting Plane Selection : Example Best plane C(Left + Right) = 232C(Left + Right) = 178C(Left + Right) = 160
17
Oliver Mattausch, Jiří Bittner, Michael Wimmer 16 View Space Subdivision: Properties Subdivision is progressive Intuitive global termination criteria Memory limit Minimal render cost decrease
18
Oliver Mattausch, Jiří Bittner, Michael Wimmer 17 View Space Subdivision Result: Set of elementary cells 5000 view cells
19
Oliver Mattausch, Jiří Bittner, Michael Wimmer 18 View Cell Construction 1.2.3. Three steps 1. Visibility sampling 2. View space subdivision 3. View space merging
20
Oliver Mattausch, Jiří Bittner, Michael Wimmer 19 View Space Merging Bottom-up refinement of the subdivision Merge view cells while minimizing the render cost increase Merge candidates: neighboring pairs of view cell 5000 view cells200 view cells
21
Oliver Mattausch, Jiří Bittner, Michael Wimmer 20 View Space Merging View cell hierarchy: Merge history tree Scalable view cells Extracting optimal set of view cells
22
Oliver Mattausch, Jiří Bittner, Michael Wimmer 21 Results: Render Cost Building (5 floors, ~8000 objects) Render cost evaluation using 8M samples BSP [Teller92], KD-VT [Nirenstein04], KD-cycling-axis Subdivision: our method (only subdivision) Merge: our method (subdivision + merge)
23
Oliver Mattausch, Jiří Bittner, Michael Wimmer 22 Results: Render Cost Vienna (~11000 objects, 1M polygons) Render cost evaluation (using 10M samples) BSP [Teller92], KD-VT [Nirenstein04], KD-cycling-axis Subdivision: our method (only subdivision) Merge: our method (subdivision + merge)
24
Oliver Mattausch, Jiří Bittner, Michael Wimmer 23 Results: Render Cost Histogram Vienna (~11000 objects, 8M polygons)
25
Oliver Mattausch, Jiří Bittner, Michael Wimmer 24 Results: Timings Timings (using unoptimized implementation) 1.5 M samples 50000 view cells 3.4 GHZ Pentium 4 Subdivision Merge axis-aligned + geometry-aligned axis-aligned only Building~7 m 10 s~4 m 50 s~103.3s Vienna~26 m 10s~5 m 50 s~26 min 10 s
26
Oliver Mattausch, Jiří Bittner, Michael Wimmer 25 Conclusions New method for view cell construction Handles all types of scenes Main ideas Visibility sampling Render time minimization View cell hierarchy Lower render cost Better distribution of the render cost Scalable view cells
27
Oliver Mattausch, Jiří Bittner, Michael Wimmer 26 View Cell Construction Thank you for your attention!
28
Oliver Mattausch, Jiří Bittner, Michael Wimmer 27 Results – Sampling Density Influence of sampling density (Building interior) #Visibility samples: 50K, 200K, 1M Initial subdivisionFinal render cost evaluation (using 8M samples) Conclusion: Coarse sampling is sufficient!
29
Oliver Mattausch, Jiří Bittner, Michael Wimmer 28 View Space Subdivision Problem with greedy optimization Can run into local minimum using pure render cost decrease Solution: also take render cost of node into account Cut through a scene: The leaves of the subdivision are shown in random color No render cost decrease for upper hierarchy levels => one half of the view space (shown in green) is not subdivided
30
Oliver Mattausch, Jiří Bittner, Michael Wimmer 29 Results: Merge Step Another application for the merge step: Make depth-first approach progressive
31
Oliver Mattausch, Jiří Bittner, Michael Wimmer 30 Results: Geometry-Aligned Splits Influence of geometry-aligned split planes (Rotated floor of building interior)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.