object-space visibility culling anthony steed university college london based upon material...

51
Object-Space Visibility Culling Anthony Steed University 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)

Upload: jessie-benson

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

Results

Page 12: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

Results

Page 13: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

Results

Page 14: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

Results

Page 15: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

Results

Page 44: Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,

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,

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,

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,

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,

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,

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,

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,

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