- Timestamp:
- 08/24/05 13:47:59 (19 years ago)
- Location:
- trunk/VUT/doc/SciReport
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/doc/SciReport/preprocessing.tex
r243 r246 1 1 \chapter{Visibility Preprocessing} 2 3 2 4 \section{Introduction} 5 6 7 \section{Related Work} 8 9 10 \section{Overview of Visibility Preprocessor} 11 12 The proposed visibility preprocessing framework consists of two major 13 steps. 14 \begin{itemize} 15 \item The first step is an aggresive visibility sampling which gives 16 initial estimate about global visibility in the scene. The sampling 17 itself involves several strategies which will be described in 18 section~\ref{sec:sampling}. The imporant property of the aggresive 19 sampling step is that it provides a fast progressive solution to 20 global visibility and thus it can be easily integrated into the 21 game development cycle. 22 23 \item The second step is visibility verification. This step turns the 24 previous aggresive visibility solution into either exact, conservative 25 or error bound aggresive solution. The choice of the particular 26 verifier is left on the user in order to select the best for a 27 particular scene, application context and time constrains. For 28 example, in scenes like a forest an error bound aggresive visibility 29 can be the best compromise between the resulting size of the PVS (and 30 framerate) and the visual quality. The exact or conservative algorithm 31 can however be chosen for urban scenes where of even small objects can 32 be more distructing for the user. 33 34 35 \section{Aggresive Global Visibility Sampling} 36 37 In traditional visibility preprocessing the view space is 38 subdivided into viewcells and for each view cell the set of visible 39 objects --- potentially visible set (PVS) is computed. This framewoirk 40 has bee used for conservative, aggresive and exact algorithms. 41 42 We propose a different strategy which has several advantages for 43 sampling based aggresive visibility preprocessing. The stategy is 44 based 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 50 Both of these points are addressed bellow in more detail. 51 52 \subsection{From-object based visibility} 53 54 Our framework is based on the idea of 55 56 A visibility sample is computed by casting a ray from an object 57 towards the viewcells and computing the nearest intersection with the 58 scene objects. All view cells pierced by the ray segment can the 59 object and thus the object can be added to their PVS. If the ray is 60 terminated at another scene object the PVS of the pierced view cells 61 can also be extended by this terminating object. Thus a single ray 62 sample piercing $n$ viewcells which is bound by two distinct objects 63 contributes by at most $2*n$ entries to the current PVSs. 64 65 At this phase of the computation we not only start the samples from 66 the objects, but we also store the PVS information centered at the 67 objects. Instead of storing a PVSs consting of objects visible from 68 view cells, every object maintains a PVS consisting of potentially 69 visible view cells. While these representations contain exactly the 70 same information as we shall see later the object centered PVS is 71 better suited for the importance sampling phase as well as the 72 visibility 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 TracChangeset
for help on using the changeset viewer.