260 likes | 392 Views
Ray Space Factorization for From-Region Visibility. Tommer Leyvand Olga Sorkine Daniel Cohen-Or Tel-Aviv University, Israel. From-Region Visibility. Problem of identifying which parts are visible from a region (viewcell). Visibility Set Valid from within the viewcell. Entire Model.
E N D
Ray Space Factorization for From-Region Visibility Tommer Leyvand Olga Sorkine Daniel Cohen-Or Tel-Aviv University, Israel
From-Region Visibility Problem of identifying which parts are visible from a region (viewcell) Visibility Set Valid from within the viewcell Entire Model
Dimensionality ofFrom-Region Visibility From-Region visibility is 4D • A ray exists the viewcell through a 2D surface and enters the target region through a 2D surface viewcell
From-Region Occluder Fusion • Wonka et.al. EGRW 2000 • Koltun et.al. EGRW 2000 • Schaufler et.al. SIGGRAPH 2000 • Durand et.al. SIGGRAPH 2000
A Ray Space Technique t=0 1/4 t s=0 1/4 3/4 1/2 3/4 1/2 s 0 1/2 3/4 1 1/4 Primary Space Ray Parameter Space
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
Our Factorization We factor the 4D visibility problem into horizontal and vertical components Ray Space Approach Umbra Merging Approach Horizontal direction Vertical direction
v u Lumigraph/Light Field A 2D grid of 2D images Light field
Vertical Slice The visibility is solved within each vertical slice A vertical slice Within a vertical slice Horizontal direction Vertical direction
Our Main Contribution A factorization that • Exploits vertical coherence • Maps to the graphics card
Vertical slice v R t R ‘ t s s Parameter Space Horizontal direction Algorithm Overview Per object: • Parameterization of vertical slices • Umbra encoding Vertical umbra footprint
Vertical direction v R t R ‘ t s Horizontal direction s Parameter Space Algorithm Overview(Cont.) • Parameterization of vertical slices • Umbra encoding and visibility test • Merging umbrae Vertical umbra footprint
t s 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 t=0 1/4 s=0 1/4 3/4 1/2 3/4 1/2
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 t 1/4 t=0 q s=0 1/4 3/4 1/2 s 3/4 1/2 0 1/2 3/4 1 1/4
Umbra Encoding Encode directional umbra using supporting and separating lines Vertical slice P(s,t) v directional umbra t (s,t) Intersection of some scene object with slice viewcell s Parameter Space
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
Vertical slice P(s,t) Directional accumulated umbra viewcell Testing Visibility Within a slice: • Test occlusion by comparing supporting angles Performed in parallel on all (s,t) slices
Merging Umbrae Increase the current accumulated umbra in the occlusion map • Augment if directional umbra intersects viewcell
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 viewcell
Implementation 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
Results Procedural Urban Model Box Field Model Vienna 2000 Model 3D-ε 2.5D+ε 2.5D
Thanks • Israel Science Foundation • Israeli Ministry of Science • Reviewers
The End Before After
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
viewcell outer square Conservativeness Piecewise constant approximation of the rational umbra function at each slice Each vertical plane is not infinitesimal - it has some width