![Page 1: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/1.jpg)
Object-Space Visibility Culling
Anthony SteedUniversity College London
Based upon material presented by Claudio T. Silva at Eurographics 1999
Slides, and material for slides, have been provided by
Satyan Coorg (MIT/IBM), Sigal Dahan and Dudu Sayag (Tel-Aviv)
![Page 2: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/2.jpg)
Approximate Visibility Determination
Develop algorithms that are output sensitive, that is, complexity depends on the number of visible polygons, not the total number of polygons.
Drop the exact visibility requirement, and instead attempt to develop algorithms that estimate the triangles which have visible fragments
In this talk, we will speak about algorithms that overestimate the visible fragments, the so called conservative visibility algorithms
![Page 3: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/3.jpg)
Talk Summary
• Cells and portals – Teller and Sequin, Siggraph 91– Luebke and Georges, I3D 95
• Visibility culling with large occluders– Coorg and Teller, SoCG 96 and I3D 97– Hudson et al, SoCG 97
![Page 4: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/4.jpg)
Talk Summary
• Cells and portals – Teller and Sequin, Siggraph 91– Luebke and Georges, I3D 95
• Visibility culling with large occluders– Coorg and Teller, SoCG 96 and I3D 97– Hudson et al, SoCG 97
![Page 5: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/5.jpg)
The Cells-and-Portals Approach
(1) Decompose space into convex cells
(2) For each cell, identify its boundary edges into two sets: opaque or portal
(3) Precompute visibility among cells
(4) During viewing (eg, walkthrough phase), use the precomputed potentially visible polygon set (PVS) of each cell to speed-up rendering
![Page 6: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/6.jpg)
Space Subdivision
Input Scene:
Convex subdivision:
Generated by computing a k-d tree of the input faces
![Page 7: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/7.jpg)
Determining Adjacent Information
![Page 8: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/8.jpg)
Computing the PVS of a cell
S•L 0, L LS•R 0, R RLinear programming problem:
Find_Visible_Cells(cell C, portal sequence P, visible cell set V) V=V C for each neighbor N of C for each portal p connecting C and N orient p from C to N P’ = P concatenate p if Stabbing_Line(P’) exists then Find_Visible_Cells (N, P’, V)
![Page 9: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/9.jpg)
Eye-to-Cell Visibility
The eye-to-cell visibility of any observer is a subset of the cell-to-cell visibility for the cell containing the observer
![Page 10: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/10.jpg)
Eye-to-Cell Visibility
• A cell is visible if– cell is in VV– all cells along stab
tree are in VV– all portals along stab
tree are in VV– sightline within VV
exists through portals
![Page 11: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/11.jpg)
Results
![Page 12: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/12.jpg)
Results
![Page 13: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/13.jpg)
Results
![Page 14: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/14.jpg)
Results
![Page 15: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/15.jpg)
Talk Summary
• Cells and portals – Teller and Sequin, Siggraph 91– Luebke and Georges, I3D 95
• Visibility culling with large occluders– Coorg and Teller, SoCG 96 and I3D 97– Hudson et al, SoCG 97
![Page 16: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/16.jpg)
Luebke and Georges, I3D 95
Instead of pre-processing all the PVS calculation, it is possible to use image-space portals to make the computation easier
Can be used in a dynamic setting
![Page 17: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/17.jpg)
Luebke and Georges, I3D 95
![Page 18: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/18.jpg)
Luebke and Georges, I3D 95
![Page 19: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/19.jpg)
Talk Summary
• Cells and portals – Teller and Sequin, Siggraph 91– Luebke and Georges, I3D 95
• Visibility culling with large occluders– Coorg and Teller, SoCG 96 and I3D 97– Hudson et al, SoCG 97
![Page 20: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/20.jpg)
When does A occludes B ?
![Page 21: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/21.jpg)
A B
Convex Occluers
AB
A occludes B
B is not occluded
C
AB
![Page 22: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/22.jpg)
Important Events
e
A
v
B
e
A
v
B
![Page 23: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/23.jpg)
Naïve Algorithm
• For all combinations of edges and vertices find the corresponding plane (n2) planes
• Partition space by these planes (n6) cells
![Page 24: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/24.jpg)
Relevant Planes• Only a small selection of planes are actually
relevant• For complete objects - consider the
silhouettes
ve
Plane ve separates A and B
A
B
All silhouette edges produce supporting planes
![Page 25: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/25.jpg)
For Individual Polygons
• Track Visibility Changes– Track all planes
defined by E and vertices in edge from B that intersect E
![Page 26: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/26.jpg)
For Individual Polygons
• Non-edge cases Track planes– V7,V3,V5
– V7, V5, V6
– V7, V6, V3
• Overall this is (n+m) for an object pair
![Page 27: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/27.jpg)
For N Objects
• Reduce complexity from (n2) by using an octree structure
![Page 28: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/28.jpg)
Hierarchical Tests
O
![Page 29: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/29.jpg)
Hierarchical Tests
O
![Page 30: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/30.jpg)
Hierarchical Tests
O
![Page 31: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/31.jpg)
Optimising the Octree Traverse
• Not feasible to compute visibility relationship for whole octree each time viewpoint moves
• Re-use the idea of tracking the separating planes – Do this for each octree cell on boundary– Note that a cell visibility can only become
visible if its parent is partially visible
![Page 32: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/32.jpg)
Dynamic Plane Maintenance
• First approach – find a sub-set of close planes and test only
those if viewpoint does not move more than r
![Page 33: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/33.jpg)
Dynamic Plane Maintenance
• Second approach– keep the planes themselves in an octree– in each octree cell keep a list of intersecting
planes– a cell-cell traversal through the octree goes via
the LCA, adding and deleting planes• no possibility of repeating an add or delete, so this is
strictly better than naïve recomputation with worst case being situations where LCA is root
![Page 34: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/34.jpg)
Coorg and Teller, I3D 97
Ignored
IgnoredA
B
T
Added the capability tojoin the effect of connectedoccluders, that is, a form of occluder fusion
![Page 35: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/35.jpg)
Occluder Fusion
![Page 36: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/36.jpg)
Fast Tangent Plane Computation
![Page 37: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/37.jpg)
Fast Tangent Plane Computation
![Page 38: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/38.jpg)
Fast Tangent Plane Computation
Because this computation is fast, it is no longer necessary to keep fine-grain visibility events
![Page 39: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/39.jpg)
Use Temporal Coherence to Cache
Relevant Events
![Page 40: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/40.jpg)
Choosing Occluders
• Pick large occluders close to the viewpoint– Good for application to octree scene structure
• Pick smaller occluder that are close to objects (detail occluders)– I.E. they occlude an object most of the time– Applied only to a specified object, not to the
general scene octree
![Page 41: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/41.jpg)
Detail Occluders
![Page 42: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/42.jpg)
Metric for Comparing Occluder Quality
Occluder quality: (-A (N * V)) / ||D||2
A : the occluder’s area
N : normal
V : viewing direction
D : the distance between the viewpoint and the occluder center
Large polygon have large area-angle.
VA
N
DO
![Page 43: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/43.jpg)
Results
![Page 44: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/44.jpg)
ResultsThe percentage of polygons draw
The culling and drawing times (in milliseconds)
Scene
Soda
City
134,832
108,841
Polygons Frustum Occlusion
19.7 2.6
36.9 5.6
Scene
Soda
City
Frustum Occlusion
83 10
102 26
Soda
City
CullDraw TotalTotal DrawCull
482
435
12
13
11
12
89
77
57
34
32
494
448
113
95
29
27
45
101
37
Elan - workstation times
Onyx - workstation times
![Page 45: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/45.jpg)
Talk Summary
• Cells and portals – Teller and Sequin, Siggraph 91– Luebke and Georges, I3D 95
• Visibility culling with large occluders– Coorg and Teller, SoCG 96 and I3D 97– Hudson et al, SoCG 97
![Page 46: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/46.jpg)
Hudson et al, SoCG 97
CB
AViewpoint
Occluder
![Page 47: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/47.jpg)
Occluder Storage
• Partition model into cells and store good occluders in the cells
• Identify likely occluders for a cell – they subtend a large solid-angle (similar to
Coorg and Teller)
• Test likely occluders – use a sample of viewpoints and compute actual
shadow volumes resulting
![Page 48: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/48.jpg)
Occluder Usage
• At run-time– form shadow volumes from likely occluders– do view-volume cull and shadow-volume
occlusion test in one pass across the spatial sub-division of the scene
– each cell of the sub-division is tested for inclusion in view-volume and non-inclusion in each shadow volume
![Page 49: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/49.jpg)
Occluder Test
• Overlap test (cell to shadow volume) is performed in 2D– If the subdivision uses bounding boxes, then a
very efficient overlap test is presented
![Page 50: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/50.jpg)
Conclusions
• Cells and portals – Gives excellent results IF you can find the
cells and portals– Good for interior scenes– Identifying cells and portals is often done by
hand • General polygons models “leak”
![Page 51: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,](https://reader030.vdocuments.net/reader030/viewer/2022032723/56649d205503460f949f5663/html5/thumbnails/51.jpg)
Conclusions
• Visibility culling with large occluders– Very good for outdoor (city) scenes where
occluders are large and depth complexity can be very high
– Not good for indoor scenes in general since there are many small occluders that would need to be fused