Culling for Time Critical Rendering of Complex Virtual Environments - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Culling for Time Critical Rendering of Complex Virtual Environments

Description:

Definition of Scene Culling. Remove potentially invisible ... Realtime-processing part of scene culling. Find the cell where the viewpoint currently reside. ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 47
Provided by: vrKai
Category:

less

Transcript and Presenter's Notes

Title: Culling for Time Critical Rendering of Complex Virtual Environments


1
Culling for Time Critical Rendering of Complex
Virtual Environments
  • Ph.D. Dissertation
  • Heo, JunHyeok
  • CSDept. KAIST

2
Contents
  • Introduction
  • Problem Definition Framework
  • Contributions
  • Previous Work
  • Preprocessing Part
  • Realtime-processing Part
  • Experiments
  • Conclusions Future Work

3
Introduction
  • VR requires PerformanceBryson94
  • Display
  • Fast display update (frame rate)
  • At least 10 frames/second
  • Interactivity
  • Fast response to user
  • At most 0.1 seconds
  • How to achieve the display requirement ?

4
navigation path
A
B
D
C
Complex urban environment
5
Typical views at position B
Typical view at position A
Typical views at position C
Typical view at position D
6
Introduction (cont.)
  • Solutions for the display performance
  • Geometry based
  • Scene culling
  • Level of detail
  • Image based
  • Using prerendered and stored images

7
Definition of Scene Culling
  • Remove potentially invisible polygons from a
    given viewpoint
  • Need not to calculate the exact visible portions
    of polygons but just a superset of visible
    polygons
  • Conservative visibility
  • Should be executed in time-critical fashion
  • Preprocessing static parts of scene

8
Framework of Scene Culling
  • Preprocessing part of scene culling
  • Subdivide the viewpoint space into
    sub-spaces(cells)
  • Precalculating the potentially visible polygons
    or PVS(Potentially Visible Set) for each cell and
    save the results to a lookup table T
  • Realtime-processing part of scene culling
  • Find the cell where the viewpoint currently
    reside.
  • Fetch the potentially visible polygons for the
    cell from T
  • If the number of polygons is too large to achieve
    the target frame rate then further remove
    potentially invisible polygons for the viewpoint.

9
Contributions
  • Propose an preprocessing method that is
    effectively applicable to outdoor scenes like
    city scenes
  • Propose an real-time processing method that
    regulates the frame rate by exploiting temporal
    coherence in visibility

10
Previous Work
  • Preprocessing part
  • Aspect graph
  • Plantinga90Gigus91 - O(n9logn)
  • Shadow calculation
  • Approximation Campbell91Chin92
  • Exact boundary Drettakis94Stewart94 -
    O(n6logn)
  • Interactive navigation
  • Architectural indoor scenes
  • - Stochastic ray-casting Airley90, Gotsman99
  • - Portal stabbing Teller92,93 O(p3)
  • Cave
  • - Corridor test Yagel96
  • Outdoor urban scenes
  • - Strong single occluder Cohen98

11
a polygonal occluder
a polygonal light
umbra
?
umbra
a polygonal occluder
Simply merged umbra
occludee
occludee
occluder
occluder
cell
occludee
occluder
cell
Cohens single strong occluder
12
Previous Work (cont.)
  • Real-time processing part
  • View frustum culling
  • Object -Rubin80Kay86
  • Space Glassner84Fujimura85
  • 5D space - Arvo87 Kwon98
  • Interactive navigation - Falby93Garlick90
  • Occlusion culling
  • Hierarchical z-buffer Greene93
  • Hierarchical polygon tiling Greene96
  • HOM(Hierarchical Occlusion Map) Zhang97
  • Shadow Volume Hudson97
  • Linear critical surface Coorg97

13
Preprocessing Part
  • Subdivision of the viewpoint space into subspaces
    or cells
  • Visibility preprocessing for each surrounding
    rectangles around a cell
  • Area visibility problem

14
4D Information of Area Visibility
x
Y
y
W
image plane
w
a sight line l l w h x y T ? ? x
yT where ?w/W and ? h/H
H
h
Z
-Z
View-rectangle
cell
X
Preprocessing Part
15
Overview
  • Express the 4D visibility information on 2D
    spaces and keep it with a ternary tree like BSP
    tree.
  • Apparent motion of axis-parallel bounding or
    bounded box of ghost polygons on image plane
  • Test the visibility of each polygon with the
    constructed tree.

Preprocessing Part
16
Apparent Motion
Preprocessing Part
17
Ghost Polygon
the back-ghost polygon of B
an area light S
umbra
a polygon B
a plane L
back-ghost polygon as occluder
the front-ghost polygon of B
an area light S
antiumbra
umbra
a polygon B
a plane L
front-ghost polygon as occludee
Preprocessing Part
18
Ghost Polygon(cont.)
  • Theorem
  • Time to calculate a ghost polygon
  • equivalent to umbra shadow volume
  • O(nm) Cambell91 and O(nm) Yoo96

p1
an area light
p
p2
Preprocessing Part
19
Axis-parallel Box on Image Plane
projected ghost polygons
bounding rectangle
bounded rectangle
image plane
y
y
x
1
1
x2
y2
y2
y1
x1
y1
1
x
?
?
x1
x2
x1
x2
0
0
1
y2
x2
y2
y1
x1
y1
-1
-1
Projection on ? y T
Projection on ? xT
Apparent motion
Preprocessing Part
20
TSP(Ternary Space Partitioning)Tree
x
y
1
1
ys2
xs2
top
top
ys1
?
?
xs1
in
0
0
1
1
ys3
in
R1
xs3
bottom
R1
bottom
-1
-1
partitioning ? yT space for xs1
partitioning ? xT space
x-node-subtree
y-node-subtree
in
in
ys1
xs1
R1
R1
x-node
top
top
ys2
xs2
bottom
bottom
ys3
y-node
xs3
TSP tree
Preprocessing Part
21
TSP Tree (cont.)
partitioning ? xT space
partitioning ? yT space for xs1, xs2, xs3, xs4,
and xs5
Preprocessing Part
22
TSP Tree(cont.)
in
in
in
ys1
R2
R1
xs1
R1
top
top
xs2
ys2
bottom
xs3
bottom
in
ys3
R2
top
in
R2
xs4
top
null
top
in
ys1
R1
xs5
bottom
ys4
bottom
top
ys2
null
bottom
ys3
bottom
in
xs6
R2
in
ys1
R1
top
null
top
ys2
bottom
xs7
x-node-subtree
bottom
ys3
in
ys1
R2
top
ys2
bottom
ys3
in
ys1
R2
top
ys2
bottom
ys3
y-node-subtrees
Preprocessing Part
23
Summary
Phase 2
Phase 1
Remove back face polygons
Compute the back-ghost polygon of each polygon
Compute the front-ghost polygon of each polygon
Sort back ghost polygons (front-to-back)
Sort the front ghost polygons (front-to-back)
Compute two parallelograms for each back ghost
polygon on ? x T and ? yT space
Compute two parallelograms for each front ghost
polygon on ? x T and ? yT space
Build the TSP tree
The TSP tree
A super set of visible polygons
Test the visibility of front-ghost polygons
Preprocessing Part
24
Algorithm Complexity
  • Time ?(nlog3m) O(nm)
  • Memory O(nm)

Preprocessing Part
25
Covering All Directions
  • Only translation of viewpoint on view-rectangle
  • Perspective projection

Preprocessing Part
26
projection on XY plane
a sightline out of frontal directions
projection on XZ plane
Preprocessing Part
27
Additional View-rectangle
projection on YZ plane
projection on XZ plane
Preprocessing Part
28
Removing Invalid Sightlines
  • Valid range x,1 for a given ? on ? xT space
  • Valid area for a given ? on ? xT space
  • Case 1 -1,y
  • Case 2 -1,1
  • Case 3 y,1

29
Preprocessing Part
30
Realtime Processing Part
  • Temporal coherence in visibility

Visible polygons from v1 U Visible polygons for
v2 p1, p2 U p2, p3 p1, p2 , p3
Realtime-processing Part
31
Estimation of errors in images
  • Real error bound
  • Maximum error in generated images between v1 and
    v2.
  • Estimation of error bound
  • Temporal coherence in visibility
  • Covered area by newly visible polygons

Realtime-processing Part
32
Proposed algorithm
if the current viewpoint on the predicted path
then return the visible polygons for v1 and
v2. else set v1 to the current
viewpoint. predict the position v2 after n
frames from v1. calculated the visible polygons
for v1 and v2 . if the temporal coherence is
smaller than the threshold then set the
predicted path to NULL. return the visible
polygons for v1.
Realtime-processing Part
33
Proposed algorithm (cont.)
  • Incrementally calculate the visible polygons for
    the next view v2 in advance when the direction
    of movement is constant.
  • Regulating the frame rate to the target frame
    rate f by selecting the suitable ni (the
    prediction interval)

time to calculate visible polygons
saved time
Realtime-processing Part
34
Proposed algorithm(cont.)
  • Efficiently calculating visible polygons and the
    temporal coherence in visibility by using the
    hardware z-buffer as the item buffer

Realtime-processing Part
35
Experiments
  • Implemented in C on SGI Octane R10000 CPU with
    128M
  • ???? model
  • 198,457 polygons
  • 5.725km x 5.618km
  • Building size
  • Average - 55.9m2
  • Standard deviation 164.9m2

36
(No Transcript)
37
Visibility Preprocessing
a cell given for experiments with a base area of
8955m2
the magnified area near by the cell
38
8955m2 99.4 - Proposed method 42.8 - Single
occluder method
39
(No Transcript)
40
Realtime culling algorithm
  • 700 frames along predefined path

41
  • View frustum culling only
  • 2.3fps
  • 10fps target frame rate and 99 coherence
    threshold
  • 7.7fps
  • 0.11 (4.5 frames)

42
  • 20fps target frame rate and 99 coherence
    threshold
  • 6.7fps lower than in case of 10fps
  • 0.12 (10.6 frames)

43
  • Preprocessing the potentially visible polygons
    for cell0 and cell1

Cell0 58688 polygons (29.6) 374sec. Cell1
29156 polygons (14.7) 370sec.
Cell1
Cell0
44
  • 20fps target frame rate and 1 error threshold
  • 17.6fps
  • 0.11 (3.6 frames)

45
Conclusions
  • Propose an preprocessing method that is
    effectively applicable to outdoor scenes like
    city scenes
  • Consider the invisible polygons occluded
    collaboratively by multiple occluders
  • Propose an real-time processing method that
    regulates the frame rate by exploiting temporal
    coherence in visibility
  • Tradeoff between performance and image quality

46
Future Work
  • Preprocessing method
  • Calculating a backghost polygon for a group of
    connected small polygons
  • Effective management of PVSs for the entire scene
  • Using coherence in PVSs of adjacent cells
Write a Comment
User Comments (0)
About PowerShow.com