Changeset 246 for trunk/VUT


Ignore:
Timestamp:
08/24/05 13:47:59 (19 years ago)
Author:
bittner
Message:
 
Location:
trunk/VUT/doc/SciReport
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/doc/SciReport/preprocessing.tex

    r243 r246  
    11\chapter{Visibility Preprocessing} 
     2 
     3 
    24\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 TracChangeset for help on using the changeset viewer.