source: GTP/trunk/Lib/Vis/Preprocessing/README @ 885

Revision 885, 6.6 KB checked in by bittner, 19 years ago (diff)
  • Property svn:executable set to *
RevLine 
[885]1View Space Partitioning and PVS computation modules
2===================================================
3
4
5This directory contains a standalone application implementing the view
6space partitioning and PVS computation modules of the GTP WP3.
7
8The usage of the application is illustrated in the example scripts:
9
10scripts/generate_viewcells    (view space partitioning)
11scripts/preprocess_visibility (PVS computation)
12
13These are simple shell scripts for usage with cygwin. It is easy to modify the
14scripts for using with windows command shell.
15
16The precompiled application binary as well as the linked libraries can be found in the
17bin directory. Note that the bin directory should be included in your PATH in order to
18run the application.
19
20
21Using the View Space Partitioning module
22=========================================
23
24The view space partitioning is implemented as a standalone
25application. Alternatively the module can be compiled as a library
26which can be linked to a 3rd party code. An example of such an
27application is the online occlusion culling module (integrated with
28OGRE engine) which links the library in order to load the preprocessed
29data and use them in runtime.
30
31The module uses a number of parameters which can be specified by the
32user through the "environment file" or command line parameters. The
33parameters can have one of the following types: string, int, float,
34and boolean. All parameters have implicit values set by the
35preprocessor (listed in the table). This value can be redefined by the
36environment file (see for example preprocess_visibility.env). This
37value can further be overwritten by a command line argument. There are
38two possibilieties how to specify the command parameter: using a
39shorcut or define construct. The define construct uses the following
40syntax: -Dparameter_name=value. With the exception of Boolean
41parameters the shorcut version is specified as follows:
42-paremter_shorcut=value. The boolean parameter shorcut is directly
43followed by + or - sign (e.g.  -preprocessor_use_gl_render+).  The
44usage of the parameters is illustrated in the example scripts and
45environment files (preprocess_visibility, preprocess_visibility.env,
46generate_viewcells, generate_viewcells.env).
47
48Bellow we give a list of the most important parameters. For other
49parameters see the environment file (generate_viewcells.env) and the
50documentation included in the source code of the module.
51
52Scene.filename (-scene_filename=) [string]
53
54Scene description file. Currently simplified X3D (.x3d), Unigraphics
55(.dat), UNC (.ply) formats are supported. This option has to be
56specified!
57
58Preprocessor.type (-preprocessor=) [string, one of: vss, rss, exact, sampling, render]
59
60Type of the preprocessor to use. Currently only the "rss" type is
61supported for PVS computation (rss stands for Ray Space Subdivision
62explained in the previous chapters of the documentation). For view
63cells construction the "vss" preprocessor should be used (vss stands
64for View Space Subdivision).
65
66
67Preprocessor.useGlRenderer (-preprocessor_use_gl_renderer) [boolean]
68
69Tells the preprocessor to open an OpenGL window which serves for
70visualization, testing and visual debugging of the preprocessor. This
71functionality is currently implemented using Qt OpenGL widget.
72
73
74ViewCells.type (-view_cells_type=)      [string, one of: vspBspTree, .....]
75
76Type of view cells to be generated. Use "vspBspTree", which
77corresponds to our optimized algorithm.
78
79ViewCells.Construction.samples (-view_cells_construction_samples=) [int]
80
81Number of visibility samples to be used for the view cell construction.
82
83ViewCells.maxViewCells (-view_cells_max_view_cells=) [int]
84
85
86Using the PVS computation module
87=================================
88
89The PVS computation module is implemented as a standalone application.
90The parameters for the module can be specified by the user through the
91"environment file" or on the command line as described for the view
92space partioting module. Bellow we give a list of the most important
93parameters. For other parameters see the environment file
94(preprocess_visibility.env) and the documentation included in the
95source code of the module.
96
97Scene.filename (-scene_filename=) [string]
98
99Scene description file. Currently simplified X3D (.x3d), Unigraphics
100(.dat), UNC (.ply) formats are supported. This option has to be
101specified!
102
103Preprocessor.type (-preprocessor=) [string, one of: vss, rss, exact, sampling, render]
104
105Type of the preprocessor to use. Currently only the "rss" type is
106supported for PVS computation (rss stands for Ray Space Subdivision
107explained in the previous chapters of the documentation). For view
108cells construction the "vss" preprocessor should be used (vss stands
109for View Space Subdivision).
110
111
112Preprocessor.useGlRenderer (-preprocessor_use_gl_renderer) [boolean]
113
114Tells the preprocessor to open an OpenGL window which serves for
115visualization, testing and visual debugging of the preprocessor. This
116functionality is currently implemented using Qt OpenGL widget and thus
117requires compiling the preprocessor with Qt library.
118
119
120Preprocessor.detectEmptyViewSpace (-preprocessor_detect_empty_viewspace=) [boolean]
121
122Empty view space detection allows more efficient sampling for scenes
123with properly modelled watertight objects (those which can be
124correctly rendered with backface culling on).
125
126Preprocessor.applyVisibilityFilter (-preprocessor_apply_visibility_filter) [boolean]
127
128Tells the pre-processor if the visibility filter should be applied.
129
130Preprocessor.visibilityFilterWidth (-preprocessor_visibility_filter_width=) [float]
131
132Width of the visibility filter specified as a ratio of the size of the
133bounding box of the scene. A reasonable value for common scenes is
1340.01.
135
136Preprocessor.visibilityFile (-preprocessor_visibility_file=) [string]
137
138Name of the file into which the preprocessed visibility information
139should be exported.
140
141RssPreprocessor.initialSamples (-initial_samples=) [int]
142
143Number of initial samples to use. These samples are distributed
144uniformly in the whole view space.
145
146RssPreprocessor.vssSamples (-rss_vss_samples=) [int]
147
148Number of samples cast using importance and stratified sampling based
149on RSS.
150
151
152RssPreprocessor.useImportanceSampling (-rss_use_importance) [bool]
153
154Tells the preprocessor whether to use RSS based sampling at all. If
155false then even the RssPreprocessor.vssSamples are cast using the
156uniform distribution.
157
158
159RssPreprocessor.vssSamplesPerPass (-rss_vss_samples_per_pass=) [int]
160
161Number of samples cast per pass of the RSS algortihm. After each pass
162the RSS tree is updated and the new set of rays is generated according
163to the estimated sample contributions.
164
165
166 
167
168
169
170
171
Note: See TracBrowser for help on using the repository browser.