Download presentation

Presentation is loading. Please wait.

Published byBen Eaker Modified over 2 years ago

1
Ray Space Factorization for From-Region Visibility Tommer Leyvand Olga Sorkine Daniel Cohen-Or Tel-Aviv University, Israel

2
From-Region Visibility Problem of identifying which parts are visible from a region (viewcell) Entire Model Visibility Set Valid from within the viewcell

3
From-Region visibility is 4D A ray exists the viewcell through a 2D surface and enters the target region through a 2D surface From-Region visibility is 4D A ray exists the viewcell through a 2D surface and enters the target region through a 2D surface Dimensionality of From-Region Visibility viewcell

4
From-Region Occluder Fusion Wonka et.al. EGRW 2000 Koltun et.al. EGRW 2000 Schaufler et.al. SIGGRAPH 2000 Durand et.al. SIGGRAPH 2000 Wonka et.al. EGRW 2000 Koltun et.al. EGRW 2000 Schaufler et.al. SIGGRAPH 2000 Durand et.al. SIGGRAPH 2000

5
A Ray Space Technique s=0 t=0 1/4 1/2 3/4 1/4 3/4 1/4 1/23/410 s t Primary SpaceRay Parameter Space

6
A Ray Space Technique (Cont.) Appropriate for 2D from-region visibility Exact (up to discretization) Can be realized with common graphics hardware Can be used to accelerate 2.5D from-region visibility Koltun et.al. EGRW’ 2001 Bittner et.al. PG2001 Appropriate for 2D from-region visibility Exact (up to discretization) Can be realized with common graphics hardware Can be used to accelerate 2.5D from-region visibility Koltun et.al. EGRW’ 2001 Bittner et.al. PG2001

7
Our Factorization We factor the 4D visibility problem into horizontal and vertical components Horizontal directionVertical direction Ray Space Approach Umbra Merging Approach

8
Lumigraph/Light Field A 2D grid of 2D images v u Light field

9
Vertical Slice The visibility is solved within each vertical slice Horizontal directionVertical direction A vertical slice Within a vertical slice

10
Our Main Contribution A factorization that Exploits vertical coherence Maps to the graphics card A factorization that Exploits vertical coherence Maps to the graphics card

11
Algorithm Overview s t R R ‘ Horizontal direction Vertical slice Per object: Parameterization of vertical slices Umbra encoding Per object: Parameterization of vertical slices Umbra encoding v s t Parameter Space footprint Vertical umbra

12
Algorithm Overview (Cont.) Parameterization of vertical slices Umbra encoding and visibility test Merging umbrae Parameterization of vertical slices Umbra encoding and visibility test Merging umbrae s t R R ‘ Horizontal direction Vertical direction v s t Parameter Space footprint Vertical umbra

13
Horizontal Parameterization Produces a 2D polygonal footprint of scene objects Project scene objects onto the ground plane Maps planes slicing both the viewcell and some object into points in parameter space Produces a 2D polygonal footprint of scene objects Project scene objects onto the ground plane Maps planes slicing both the viewcell and some object into points in parameter space s t s=0 t=0 1/4 1/2 3/4 1/4 3/4

14
Building the footprint Our parameterization maps a 3D triangle into several 2D polygons Each point in the resulting footprint represents a plane that slices both the viewcell and the segment Our parameterization maps a 3D triangle into several 2D polygons Each point in the resulting footprint represents a plane that slices both the viewcell and the segment s=0 1/4 q 1/23/4 1/4 1/23/410 s t t=0 1/23/4

15
Umbra Encoding v s t Encode directional umbra using supporting and separating lines Encode directional umbra using supporting and separating lines Parameter Space viewcell directional umbra Intersection of some scene object with slice Vertical slice P(s,t) (s,t)

16
Global Occlusion Map Stores the directional accumulated umbra for all directions Encoded by sets of supporting and separating angles –Each set encodes a single umbra Traverse the scene top-down front-to-back, and –Bounding boxes are tested for visibility –Objects in visible leafs augment the map Stores the directional accumulated umbra for all directions Encoded by sets of supporting and separating angles –Each set encodes a single umbra Traverse the scene top-down front-to-back, and –Bounding boxes are tested for visibility –Objects in visible leafs augment the map

17
Testing Visibility Within a slice: Test occlusion by comparing supporting angles Performed in parallel on all (s,t) slices Within a slice: Test occlusion by comparing supporting angles Performed in parallel on all (s,t) slices viewcell Directional accumulated umbra Vertical slice P(s,t)

18
Merging Umbrae Increase the current accumulated umbra in the occlusion map Augment if directional umbra intersects Increase the current accumulated umbra in the occlusion map Augment if directional umbra intersects viewcell

19
Merging Umbrae Increase the current accumulated umbra in the occlusion map Augment if directional umbra intersects Otherwise: create another umbra entry –In case there are too many entries, discard Increase the current accumulated umbra in the occlusion map Augment if directional umbra intersects Otherwise: create another umbra entry –In case there are too many entries, discard viewcell

20
ImplementationImplementation Cg implementation: 4x32bit floating point PBuffers –Used to store a single set global occlusion map Fragment programs for testing occlusion and merging umbra –Calculates less conservative values Previous generation hardware implementation: Using occlusion query and OpenGL Cg implementation: 4x32bit floating point PBuffers –Used to store a single set global occlusion map Fragment programs for testing occlusion and merging umbra –Calculates less conservative values Previous generation hardware implementation: Using occlusion query and OpenGL

21
ResultsResults Procedural Urban ModelBox Field ModelVienna 2000 Model 2.5D+ ε 3D- ε 2.5D

22
VideoVideo

23
ThanksThanks Israel Science Foundation Israeli Ministry of Science Reviewers Israel Science Foundation Israeli Ministry of Science Reviewers

24
The End BeforeAfter

25
Procedural City XML configured city generation engine Simple building blocks –3D boxes and pyramids –Rotation and scaling operators –Texture groups –Instantiation parameters within user defined random limits Exports city to VRML 2.0 XML configured city generation engine Simple building blocks –3D boxes and pyramids –Rotation and scaling operators –Texture groups –Instantiation parameters within user defined random limits Exports city to VRML 2.0

26
ConservativenessConservativeness viewcell outer square Piecewise constant approximation of the rational umbra function at each slice Each vertical plane is not infinitesimal - it has some width

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google