[235] | 1 | ############################################################################# |
---|
| 2 | # ERS default configuration file |
---|
| 3 | # Jiri Bittner 2003 |
---|
| 4 | ############################################################################# |
---|
| 5 | |
---|
| 6 | Scene { |
---|
| 7 | |
---|
| 8 | # filename glasgow1.x3d |
---|
| 9 | # filename vienna.x3d |
---|
[349] | 10 | # filename ../data/vienna/vienna-simple.x3d |
---|
[532] | 11 | # filename ../data/vienna/vienna-buildings.x3d |
---|
[430] | 12 | #filename ../data/vienna/vienna-buildings.x3d;../data/vienna/vienna-roofs.x3d |
---|
| 13 | #;../data/vienna/vienna-plane.x3d |
---|
[304] | 14 | # filename ../data/vienna/viewcells-25-sel.x3d |
---|
[666] | 15 | # filename ../data/atlanta/atlanta2.x3d |
---|
[235] | 16 | # filename ../data/soda/soda.dat |
---|
[666] | 17 | filename ../data/soda/soda5.dat |
---|
[235] | 18 | } |
---|
| 19 | |
---|
[430] | 20 | Preprocessor { |
---|
[490] | 21 | # stored sample rays |
---|
| 22 | samplesFilename rays.out |
---|
[542] | 23 | useGlRenderer false |
---|
[452] | 24 | # type sampling |
---|
[578] | 25 | type vss |
---|
| 26 | # type rss |
---|
[656] | 27 | detectEmptyViewSpace true |
---|
[658] | 28 | loadPolygonsAsMeshes true |
---|
[430] | 29 | } |
---|
| 30 | |
---|
| 31 | VssPreprocessor { |
---|
[517] | 32 | samplesPerPass 100000 |
---|
[574] | 33 | initialSamples 0 |
---|
[557] | 34 | vssSamples 0 |
---|
[555] | 35 | vssSamplesPerPass 500000 |
---|
[430] | 36 | useImportanceSampling true |
---|
[495] | 37 | loadInitialSamples false |
---|
[491] | 38 | storeInitialSamples false |
---|
[654] | 39 | useViewSpaceBox false |
---|
[562] | 40 | # testBeamSampling true |
---|
[430] | 41 | } |
---|
| 42 | |
---|
[451] | 43 | |
---|
[508] | 44 | SamplingPreprocessor { |
---|
| 45 | totalSamples 500000 |
---|
[596] | 46 | samplesPerPass 3 |
---|
[508] | 47 | } |
---|
| 48 | |
---|
| 49 | |
---|
[430] | 50 | VssTree { |
---|
[451] | 51 | useRss false |
---|
[430] | 52 | epsilon 1e-6 |
---|
[535] | 53 | |
---|
[430] | 54 | maxDepth 40 |
---|
[465] | 55 | minPvs 30 |
---|
[557] | 56 | minRays 800 |
---|
[430] | 57 | minSize 0.001 |
---|
[535] | 58 | maxCostRatio 1.5 |
---|
| 59 | maxRayContribution 0.5 |
---|
| 60 | |
---|
[542] | 61 | maxTotalMemory 50 |
---|
| 62 | maxStaticMemory 20 |
---|
[430] | 63 | |
---|
| 64 | splitType regular |
---|
[535] | 65 | # splitType heuristic |
---|
| 66 | # splitType hybrid |
---|
[451] | 67 | splitUseOnlyDrivingAxis true |
---|
[596] | 68 | |
---|
[535] | 69 | interleaveDirSplits true |
---|
[542] | 70 | dirSplitDepth 0 |
---|
[535] | 71 | |
---|
[430] | 72 | numberOfEndPointDomains 10000 |
---|
| 73 | ct_div_ci 0.0 |
---|
| 74 | randomize false |
---|
[535] | 75 | |
---|
[430] | 76 | refDirBoxMaxSize 0.1 |
---|
| 77 | } |
---|
| 78 | |
---|
[451] | 79 | RssPreprocessor { |
---|
| 80 | samplesPerPass 100000 |
---|
[574] | 81 | #initialSamples 500000 |
---|
| 82 | #vssSamples 10000000 |
---|
| 83 | #for view cell construction |
---|
| 84 | initialSamples 0 |
---|
| 85 | vssSamples 0 |
---|
[497] | 86 | vssSamplesPerPass 500000 |
---|
[451] | 87 | useImportanceSampling true |
---|
[497] | 88 | |
---|
| 89 | directionalSampling true |
---|
| 90 | objectBasedSampling false |
---|
| 91 | |
---|
| 92 | Export { |
---|
| 93 | pvs false |
---|
| 94 | rssTree false |
---|
| 95 | rays true |
---|
| 96 | numRays 5000 |
---|
[596] | 97 | } |
---|
[497] | 98 | |
---|
| 99 | useViewcells true |
---|
| 100 | updateSubdivision true |
---|
[596] | 101 | loadInitialSamples false |
---|
[490] | 102 | storeInitialSamples false |
---|
[451] | 103 | } |
---|
| 104 | |
---|
[497] | 105 | |
---|
[451] | 106 | RssTree { |
---|
[497] | 107 | |
---|
[451] | 108 | epsilon 1e-6 |
---|
| 109 | |
---|
| 110 | maxDepth 40 |
---|
[497] | 111 | minPvs 3 |
---|
[451] | 112 | minRays 30 |
---|
| 113 | minSize 0.001 |
---|
[497] | 114 | maxCostRatio 1.0 |
---|
| 115 | maxRayContribution 0.5 |
---|
| 116 | maxRays 1000000 |
---|
[451] | 117 | maxTotalMemory 200 |
---|
| 118 | maxStaticMemory 100 |
---|
| 119 | |
---|
[596] | 120 | # splitType regular |
---|
[451] | 121 | # splitType heuristic |
---|
| 122 | splitType hybrid |
---|
[497] | 123 | splitUseOnlyDrivingAxis true |
---|
| 124 | importanceBasedCost false |
---|
[451] | 125 | |
---|
| 126 | interleaveDirSplits true |
---|
[497] | 127 | dirSplitDepth 0 |
---|
[451] | 128 | |
---|
| 129 | numberOfEndPointDomains 10000 |
---|
| 130 | ct_div_ci 0.0 |
---|
| 131 | randomize false |
---|
| 132 | |
---|
| 133 | refDirBoxMaxSize 0.1 |
---|
| 134 | } |
---|
| 135 | |
---|
[235] | 136 | Limits { |
---|
| 137 | |
---|
| 138 | threshold 1e-6 |
---|
| 139 | small 1e-6 |
---|
| 140 | infinity 1e9 |
---|
| 141 | } |
---|
| 142 | |
---|
[596] | 143 | Unigraphics { |
---|
[235] | 144 | meshGrouping 1 |
---|
| 145 | } |
---|
| 146 | |
---|
| 147 | KdTree { |
---|
| 148 | sahUseFaces true |
---|
| 149 | Termination { |
---|
[430] | 150 | minCost 1 |
---|
[235] | 151 | maxDepth 18 |
---|
| 152 | maxCostRatio 0.9 |
---|
| 153 | ct_div_ci 0.5 |
---|
| 154 | } |
---|
| 155 | |
---|
| 156 | # splitMethod spatialMedian |
---|
| 157 | splitMethod SAH |
---|
| 158 | splitBorder 0.01 |
---|
| 159 | } |
---|
| 160 | |
---|
| 161 | MeshKdTree { |
---|
| 162 | Termination { |
---|
[430] | 163 | minCost 1 |
---|
[235] | 164 | maxDepth 18 |
---|
| 165 | maxCostRatio 0.9 |
---|
| 166 | ct_div_ci 0.5 |
---|
| 167 | } |
---|
| 168 | |
---|
| 169 | # splitMethod spatialMedian |
---|
| 170 | splitMethod SAH |
---|
| 171 | splitBorder 0.01 |
---|
| 172 | } |
---|
| 173 | |
---|
| 174 | |
---|
| 175 | |
---|
[310] | 176 | ViewCells { |
---|
[574] | 177 | # samples used for view cell construction |
---|
| 178 | Construction { |
---|
[685] | 179 | samples 100000 |
---|
[666] | 180 | samplesPerPass 200000 |
---|
[574] | 181 | } |
---|
[577] | 182 | |
---|
[582] | 183 | #number of active view cells |
---|
[639] | 184 | active 1024 |
---|
[582] | 185 | maxStaticMemory 40 |
---|
[581] | 186 | |
---|
[654] | 187 | exportToFile true |
---|
| 188 | loadFromFile false |
---|
[577] | 189 | |
---|
[441] | 190 | #type kdTree |
---|
[607] | 191 | #type vspKdTree |
---|
[651] | 192 | #type bspTree |
---|
| 193 | type vspBspTree |
---|
[441] | 194 | #type sceneDependent |
---|
[329] | 195 | |
---|
[321] | 196 | height 5.0 |
---|
[551] | 197 | maxViewCells 3000 |
---|
[597] | 198 | |
---|
[513] | 199 | #percentage of total visible objects where pvs is considered invalid |
---|
[579] | 200 | maxPvsRatio 1.0 |
---|
[508] | 201 | |
---|
[564] | 202 | pruneEmptyViewCells false |
---|
| 203 | processOnlyValidViewCells false |
---|
[660] | 204 | |
---|
[666] | 205 | #stats viewCellStats.log |
---|
[660] | 206 | |
---|
| 207 | samplingType directional |
---|
[666] | 208 | #samplingType box |
---|
[660] | 209 | |
---|
[478] | 210 | PostProcess { |
---|
[445] | 211 | # how much samples are used for post processing |
---|
[551] | 212 | samples 300000 |
---|
[587] | 213 | renderCostWeight 1.0 |
---|
[580] | 214 | maxCostRatio 0.1 |
---|
[581] | 215 | minViewCells 1 |
---|
[600] | 216 | avgCostMaxDeviation 0.01 |
---|
[612] | 217 | maxMergesPerPass 5000 |
---|
[580] | 218 | useRaysForMerge false |
---|
[587] | 219 | refine false |
---|
[654] | 220 | compress false |
---|
[685] | 221 | merge true |
---|
[378] | 222 | } |
---|
| 223 | |
---|
[445] | 224 | Visualization { |
---|
[490] | 225 | # how much samples we use for visualization |
---|
[574] | 226 | samples 100000 |
---|
[551] | 227 | #colorCode PVS |
---|
[482] | 228 | #colorCode MergedLeaves |
---|
| 229 | #colorCode MergedTreeDiff |
---|
[551] | 230 | colorCode Random |
---|
[491] | 231 | exportRays false |
---|
[685] | 232 | exportGeometry true |
---|
[580] | 233 | exportMergedViewCells false |
---|
[662] | 234 | useClipPlane true |
---|
| 235 | clipPlaneAxis 1 |
---|
[685] | 236 | clipPlanePos 0.35 |
---|
[445] | 237 | } |
---|
[664] | 238 | |
---|
[685] | 239 | showVisualization true |
---|
[666] | 240 | evaluateViewCells false |
---|
[378] | 241 | |
---|
[662] | 242 | Evaluation { |
---|
[666] | 243 | samplesPerPass 800000 |
---|
| 244 | samples 1000000 |
---|
| 245 | statsPrefix ../scripts/viewCells |
---|
[662] | 246 | } |
---|
[664] | 247 | |
---|
[319] | 248 | # filename ../data/atlanta/atlanta_viewcells_large.x3d |
---|
[485] | 249 | # filename ../data/vienna/viewcells-25-sel.x3d |
---|
[361] | 250 | # filename ../data/vienna/viewcells-25.x3d |
---|
[310] | 251 | # filename ../data/vienna/viewcells-large-sel.x3d |
---|
[540] | 252 | # filename ../scripts/viewcells_vienna.xml |
---|
| 253 | filename ../scripts/viewcells_atlanta.xml |
---|
[310] | 254 | } |
---|
[308] | 255 | |
---|
[310] | 256 | |
---|
[406] | 257 | Simulation { |
---|
| 258 | objRenderCost 1.0 |
---|
[480] | 259 | vcOverhead 1.0 |
---|
[479] | 260 | # always between 0 and 1 |
---|
[480] | 261 | moveSpeed 0.0001 |
---|
[409] | 262 | } |
---|
| 263 | |
---|
| 264 | |
---|
| 265 | VspKdTree { |
---|
| 266 | epsilon 1e-6 |
---|
| 267 | |
---|
[411] | 268 | Construction { |
---|
[542] | 269 | samples 500000 |
---|
[411] | 270 | } |
---|
[409] | 271 | |
---|
[411] | 272 | Termination { |
---|
[444] | 273 | maxDepth 40 |
---|
[587] | 274 | minPvs 0 |
---|
| 275 | minRays 1 |
---|
[503] | 276 | minSize 0.001 |
---|
[587] | 277 | maxCostRatio 5.9 |
---|
| 278 | maxViewCells 169 |
---|
[485] | 279 | missTolerance 4 |
---|
[587] | 280 | maxRayContribution 2.5 |
---|
[411] | 281 | } |
---|
| 282 | |
---|
[485] | 283 | maxTotalMemory 100 |
---|
[542] | 284 | maxStaticMemory 40 |
---|
[409] | 285 | |
---|
[430] | 286 | splitType regular |
---|
| 287 | #splitType heuristics |
---|
[587] | 288 | splitUseOnlyDrivingAxis true |
---|
[409] | 289 | ct_div_ci 0.0 |
---|
[462] | 290 | |
---|
| 291 | # maximal cost for merging a view cell |
---|
[465] | 292 | PostProcess { |
---|
[482] | 293 | maxCostRatio 0.005 |
---|
[587] | 294 | minViewCells 10000 |
---|
[568] | 295 | maxPvsSize 5000 |
---|
[465] | 296 | } |
---|
[469] | 297 | |
---|
| 298 | |
---|
| 299 | Visualization { |
---|
| 300 | } |
---|
[445] | 301 | } |
---|
| 302 | |
---|
| 303 | VspBspTree { |
---|
| 304 | Construction { |
---|
[685] | 305 | samples 200000 |
---|
| 306 | epsilon 0.00005 |
---|
[490] | 307 | randomize false |
---|
[590] | 308 | renderCostWeight 1.0 |
---|
[445] | 309 | } |
---|
| 310 | |
---|
| 311 | |
---|
| 312 | # random polygon = 1 |
---|
| 313 | # axis aligned = 2 |
---|
| 314 | # least ray splits = 256 |
---|
| 315 | # balanced rays = 512 |
---|
| 316 | # pvs = 1024 |
---|
| 317 | |
---|
[654] | 318 | splitPlaneStrategy 1026 |
---|
[508] | 319 | |
---|
[445] | 320 | # maximal candidates for split planes |
---|
[666] | 321 | maxPolyCandidates 150 |
---|
[591] | 322 | |
---|
[612] | 323 | usePolygonSplitIfAvailable false |
---|
[666] | 324 | |
---|
[445] | 325 | # maximal tested rays for split cost heuristics |
---|
[607] | 326 | maxTests 10000 |
---|
[445] | 327 | |
---|
[542] | 328 | maxTotalMemory 50 |
---|
| 329 | maxStaticMemory 50 |
---|
[660] | 330 | |
---|
[666] | 331 | subdivisionStats ../subdivisionStats.log |
---|
| 332 | |
---|
[445] | 333 | # factors for evaluating split plane costs |
---|
| 334 | Factor { |
---|
| 335 | leastRaySplits 1.0 |
---|
| 336 | balancedRays 1.0 |
---|
| 337 | pvs 1.0 |
---|
| 338 | } |
---|
| 339 | |
---|
| 340 | Termination { |
---|
| 341 | # parameters used for autopartition |
---|
[612] | 342 | minRays -15 |
---|
[472] | 343 | minPolygons -1 |
---|
[607] | 344 | maxDepth 25 |
---|
[612] | 345 | minPvs -15 |
---|
| 346 | minProbability 0.00000001 |
---|
| 347 | maxRayContribution 1.8 |
---|
| 348 | maxCostRatio 1.8 |
---|
| 349 | missTolerance 6 |
---|
[654] | 350 | globalCostMissTolerance 4 |
---|
| 351 | minGlobalCostRatio 0.0000001 |
---|
[656] | 352 | # minGlobalCostRatio 0.0001 |
---|
[685] | 353 | maxViewCells 10000 |
---|
[656] | 354 | |
---|
[655] | 355 | |
---|
[445] | 356 | # used for pvs criterium |
---|
| 357 | ct_div_ci 0.0 |
---|
[508] | 358 | |
---|
| 359 | AxisAligned { |
---|
[612] | 360 | minRays 50000 |
---|
[595] | 361 | maxRayContribution 9.9 |
---|
[508] | 362 | } |
---|
[482] | 363 | } |
---|
[445] | 364 | |
---|
[666] | 365 | useSplitCostQueue true |
---|
| 366 | useCostHeuristics true |
---|
[656] | 367 | |
---|
[607] | 368 | splitUseOnlyDrivingAxis false |
---|
[666] | 369 | simulateOctree false |
---|
| 370 | useRandomAxis false |
---|
[639] | 371 | usePolygonSplitIfAvailable false |
---|
[666] | 372 | useBreathFirstSplits false |
---|
[639] | 373 | |
---|
[445] | 374 | Visualization { |
---|
| 375 | # x3d visualization of the split planes |
---|
[600] | 376 | exportSplits false |
---|
[473] | 377 | } |
---|
| 378 | } |
---|
| 379 | |
---|
| 380 | BspTree { |
---|
| 381 | Construction { |
---|
[666] | 382 | samples 300000 |
---|
[473] | 383 | epsilon 0.005 |
---|
| 384 | } |
---|
| 385 | |
---|
| 386 | |
---|
| 387 | # random polygon = 1 |
---|
| 388 | # axis aligned = 2 |
---|
| 389 | # least splits = 4 |
---|
| 390 | # balanced polygons = 8 |
---|
| 391 | # balanced view cells = 16 |
---|
| 392 | # largest polygon area = 32 |
---|
| 393 | # vertical axis = 64 |
---|
| 394 | # blocked rays = 128 |
---|
| 395 | # least ray splits = 256 |
---|
| 396 | # balanced rays = 512 |
---|
| 397 | # pvs = 1024 |
---|
| 398 | |
---|
| 399 | # least splits + balanced polygons |
---|
| 400 | #splitPlaneStrategy 12 |
---|
| 401 | |
---|
| 402 | #axis aligned + vertical axis |
---|
| 403 | #splitPlaneStrategy 66 |
---|
| 404 | |
---|
| 405 | # axis aligned + balanced view cells |
---|
| 406 | # splitPlaneStrategy 18 |
---|
| 407 | |
---|
| 408 | # largest polygon area |
---|
| 409 | #splitPlaneStrategy 32 |
---|
| 410 | |
---|
| 411 | # axus aligned + balanced polygons |
---|
| 412 | #splitPlaneStrategy 72 |
---|
| 413 | |
---|
| 414 | # axis aligned + blocked rays |
---|
| 415 | #splitPlaneStrategy 130 |
---|
| 416 | |
---|
| 417 | #splitPlaneStrategy 384 |
---|
| 418 | #splitPlaneStrategy 130 |
---|
| 419 | |
---|
[586] | 420 | splitPlaneStrategy 32 |
---|
[473] | 421 | |
---|
[586] | 422 | maxPolyCandidates 100 |
---|
| 423 | maxRayCandidates 0 |
---|
[473] | 424 | |
---|
| 425 | maxTests 10000 |
---|
| 426 | |
---|
[660] | 427 | subdivisionStats ../subDivisionStats.log |
---|
| 428 | |
---|
[473] | 429 | # factors for evaluating split plane costs |
---|
| 430 | Factor { |
---|
| 431 | verticalSplits 1.0 |
---|
| 432 | largestPolyArea 1.0 |
---|
| 433 | blockedRays 1.0 |
---|
| 434 | leastRaySplits 1.0 |
---|
| 435 | balancedRays 1.0 |
---|
| 436 | pvs 1.0 |
---|
| 437 | leastSplits 1.0 |
---|
| 438 | balancedPolys 1.0 |
---|
| 439 | balancedViewCells 1.0 |
---|
| 440 | } |
---|
| 441 | |
---|
| 442 | Termination { |
---|
| 443 | # parameters used for autopartition |
---|
[646] | 444 | minRays -1 |
---|
[666] | 445 | minPolygons 0 |
---|
[587] | 446 | maxDepth 30 |
---|
| 447 | minPvs -1 |
---|
[646] | 448 | minProbability 0.00001 |
---|
[587] | 449 | maxRayContribution 9999 |
---|
[666] | 450 | maxViewCells 20000 |
---|
[587] | 451 | |
---|
[473] | 452 | # used for pvs criterium |
---|
| 453 | ct_div_ci 0.0 |
---|
| 454 | |
---|
| 455 | maxCostRatio 0.9 |
---|
| 456 | |
---|
| 457 | # axis aligned splits |
---|
| 458 | AxisAligned { |
---|
| 459 | minPolys 5000 |
---|
| 460 | minRays 500 |
---|
| 461 | minObjects 10 |
---|
| 462 | ct_div_ci 0.5 |
---|
| 463 | } |
---|
| 464 | } |
---|
| 465 | |
---|
| 466 | AxisAligned { |
---|
| 467 | splitBorder 0.01 |
---|
| 468 | } |
---|
| 469 | |
---|
| 470 | |
---|
| 471 | Visualization { |
---|
| 472 | # x3d visualization of the split planes |
---|
[644] | 473 | exportSplits false |
---|
[445] | 474 | } |
---|
[473] | 475 | } |
---|