Image Space Occlusion Culling Image Space Occlusion Culling 1 - - PowerPoint PPT Presentation

image space occlusion culling image space occlusion
SMART_READER_LITE
LIVE PREVIEW

Image Space Occlusion Culling Image Space Occlusion Culling 1 - - PowerPoint PPT Presentation

Image Space Occlusion Culling Image Space Occlusion Culling 1 Hudson et al, SoCG 97 Occluder A Viewpoint umbra B C 2 What Methods are Called Image-Space? Those where the decision to cull or render is done after projection (in image


slide-1
SLIDE 1

1

Image Space Occlusion Culling Image Space Occlusion Culling

slide-2
SLIDE 2

2

Hudson et al, SoCG 97 C B A

Viewpoint Occluder umbra

slide-3
SLIDE 3

3

What Methods are Called Image-Space?

  • Those where the decision to cull or render is

done after projection (in image space)

View volume Object space hierarchy Decision to cull

Two classic examples

– Hierarchical Z-Buffer [HBZ93] – Hierarchical Occlusion Maps [HOM97]

slide-4
SLIDE 4

4

Ingredients of an Image Space Method

  • An object space data structure that

allows fast queries to the complex geometry

Space partitioning Hierarchical bounding boxes Regular grid

slide-5
SLIDE 5

5

An image space representation of the

  • cclusion information
  • Discrete

– Z-hierarchy – Occlusion map hierarchy

  • Continuous

– BSP tree – Image space extends

slide-6
SLIDE 6

6

General Outline of Image Space Methods

  • During the (front-to-back) traversal of the

scene hierarchy do:

– compare each node against the view volume – if not culled, test node for occlusion – if still not culled, render objects/occluders augmenting the image space occlusion

slide-7
SLIDE 7

7

Testing a Node for Occlusion

  • If the box representing a node is not visible then

nothing in it is either

  • The faces of the box are projected onto the image

plane and tested for occlusion

slide-8
SLIDE 8

8

Testing a Node for Occlusion

  • If the box representing a node is not visible then

nothing in it is either

  • The faces of the box are projected onto the image

plane and tested for occlusion

slide-9
SLIDE 9

9

Hierarchical Tests

O

slide-10
SLIDE 10

10

Hierarchical Tests

O

slide-11
SLIDE 11

11

Hierarchical Tests

O

slide-12
SLIDE 12

12

Differences of Algorithms

  • The most important differences between

the various approaches are:

– the representation of the (augmented)

  • cclusion in image space and,

– the method of testing the hierarchy for

  • cclusion
slide-13
SLIDE 13

13

Hierarchical Z-Buffer (HZB)

(Ned Greene, Michael Kass 93)

  • An extension of the Z-buffer VSD algorithm
  • It follows the outline described above.
  • Scene is arranged into an octree which is

traversed top-to-bottom and front-to-back.

  • During rendering an occlusion map is

incrementally built.

  • Octree nodes are compared against
  • cclusion map.
  • The occlusion map is a z-pyramid…
slide-14
SLIDE 14

17

The Z-Pyramid

Objects are rendered Depth taken from the z-buffer Construct pyramid by taking max of each 4

= furthest = closer = closest

slide-15
SLIDE 15

20

Maintaining the Z-Pyramid

  • Ideally every time an object is rendered

causing a change in the Z-buffer, this change is propagated through the pyramid

  • However this is not a practical approach
slide-16
SLIDE 16

21

More Realistic Implementation

  • Make use of frame-to-frame coherence:

– at start of each frame render the nodes that were visible in previous frame – read the z-buffer and construct the z-pyramid – now traverse the octree using the z-pyramid for occlusion but without updating it

Cool idea!

slide-17
SLIDE 17

22

HZB: discussion

  • It provides good acceleration in very

dense scenes

  • Getting the necessary information from

the Z-buffer is costly

  • A hardware modification was proposed

for making it real-time

slide-18
SLIDE 18

23

Hierarchical Occlusion Maps

(Hansong Zhang et.al 97)

Similar idea to HZB but:

– they separate the coverage information from the depth information, two data structures

  • hierarchical occlusion maps
  • depth (several proposals for this)
slide-19
SLIDE 19

24

HOM:Algorithm Outline

– Select occluders until the set is large enough – Build occlusion representation – Occlusion culling & final rendering

slide-20
SLIDE 20

25

Demonstration

Blue parts: Blue parts: occluders

  • ccluders

Red parts: Red parts: occludees

  • ccludees
slide-21
SLIDE 21

27

Occlusion Map Pyramid

64 x 64 32 x 32 16 x 16

slide-22
SLIDE 22

29

Occlusion Map Pyramid

slide-23
SLIDE 23

32

Set of Occluders Occlusion Map

Representing Occluders

slide-24
SLIDE 24

35

Aggressive Approximate culling

1 2 3 4