source: trunk/VUT/doc/SciReport/preprocessing.tex @ 246

Revision 246, 3.4 KB checked in by bittner, 19 years ago (diff)
Line 
1\chapter{Visibility Preprocessing}
2
3
4\section{Introduction}
5
6
7\section{Related Work}
8
9
10\section{Overview of Visibility Preprocessor}
11
12The proposed visibility preprocessing framework consists of two major
13steps.
14\begin{itemize}
15\item The first step is an aggresive visibility sampling which gives
16initial estimate about global visibility in the scene. The sampling
17itself involves several strategies which will be described in
18section~\ref{sec:sampling}. The imporant property of the aggresive
19sampling step is that it provides a fast progressive solution to
20global visibility and thus it can be easily integrated into the
21game development cycle.
22
23\item The second step is visibility verification. This step turns the
24previous aggresive visibility solution into either exact, conservative
25or error bound aggresive solution. The choice of the particular
26verifier is left on the user in order to select the best for a
27particular scene, application context and time constrains. For
28example, in scenes like a forest an error bound aggresive visibility
29can be the best compromise between the resulting size of the PVS (and
30framerate) and the visual quality. The exact or conservative algorithm
31can however be chosen for urban scenes where of even small objects can
32be more distructing for the user.
33
34
35\section{Aggresive Global Visibility Sampling}
36
37In traditional visibility preprocessing the view space is
38subdivided into viewcells and for each view cell the set of visible
39objects --- potentially visible set (PVS) is computed. This framewoirk
40has bee used for conservative, aggresive and exact algorithms.
41
42We propose a different strategy which has several advantages for
43sampling based aggresive visibility preprocessing. The stategy is
44based on the following fundamental ideas:
45\begin{itemize}
46\item Replace the roles of view cells and objects
47\item Compute progressive global visibility instead of sequential from-region visibility
48\end{itemize}
49
50Both of these points are addressed bellow in more detail.
51
52\subsection{From-object based visibility}
53
54Our framework is based on the idea of
55
56A visibility sample is computed by casting a ray from an object
57towards the viewcells and computing the nearest intersection with the
58scene objects. All view cells pierced by the ray segment can the
59object and thus the object can be added to their PVS. If the ray is
60terminated at another scene object the PVS of the pierced view cells
61can also be extended by this terminating object. Thus a single ray
62sample piercing $n$ viewcells which is bound by two distinct objects
63contributes by at most $2*n$ entries to the current PVSs.
64
65At this phase of the computation we not only start the samples from
66the objects, but we also store the PVS information centered at the
67objects. Instead of storing a PVSs consting of objects visible from
68view cells, every object maintains a PVS consisting of potentially
69visible view cells. While these representations contain exactly the
70same information as we shall see later the object centered PVS is
71better suited for the importance sampling phase as well as the
72visibility verification phase.
73
74
75\subsection{Progressive Randomized Sampling}
76
77
78
79
80\subsection{Importance Sampling}
81
82
83\section{Visibility Verification}
84
85
86\subsection{Exact Verifier}
87
88
89\subsection{Conservative Verifier}
90
91
92\subsection{Error Bound Verifier}
93
94
95
Note: See TracBrowser for help on using the repository browser.