- Timestamp:
- 02/06/06 23:53:19 (19 years ago)
- Location:
- trunk/VUT/GtpVisibilityPreprocessor
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/scripts/default.env
r600 r601 13 13 #;../data/vienna/vienna-plane.x3d 14 14 # filename ../data/vienna/viewcells-25-sel.x3d 15 filename ../data/atlanta/atlanta2.x3d15 # filename ../data/atlanta/atlanta2.x3d 16 16 # filename ../data/soda/soda.dat 17 #filename ../data/soda/soda5.dat17 filename ../data/soda/soda5.dat 18 18 } 19 19 … … 25 25 type vss 26 26 # type rss 27 detectEmptyViewSpace false27 detectEmptyViewSpace true 28 28 } 29 29 … … 36 36 loadInitialSamples false 37 37 storeInitialSamples false 38 useViewSpaceBox false38 useViewSpaceBox true 39 39 # testBeamSampling true 40 40 } … … 176 176 # samples used for view cell construction 177 177 Construction { 178 samples 2000000178 samples 1400000 179 179 samplesPerPass 500000 180 180 } 181 181 182 182 #number of active view cells 183 active 2 048183 active 256 184 184 maxStaticMemory 40 185 185 … … 188 188 189 189 #type kdTree 190 #type vspKdTree190 type vspKdTree 191 191 #type bspTree 192 192 type vspBspTree … … 213 213 useRaysForMerge false 214 214 refine false 215 compress false215 compress true 216 216 merge true 217 217 } … … 288 288 VspBspTree { 289 289 Construction { 290 samples 1000000290 samples 800000 291 291 epsilon 0.005 292 292 randomize false … … 304 304 305 305 # maximal candidates for split planes 306 maxPolyCandidates 2 00306 maxPolyCandidates 250 307 307 308 308 309 309 # maximal tested rays for split cost heuristics 310 maxTests 10000310 maxTests 20000 311 311 312 312 maxTotalMemory 50 … … 322 322 Termination { 323 323 # parameters used for autopartition 324 minRays 500324 minRays 20 325 325 minPolygons -1 326 maxDepth 25326 maxDepth 40 327 327 minPvs -1 328 minProbability 0.000000 1329 maxRayContribution 0. 3330 maxCostRatio 0. 9328 minProbability 0.00000001 329 maxRayContribution 0.15 330 maxCostRatio 0.8 331 331 missTolerance 3 332 332 333 maxViewCells 30000333 maxViewCells 100000 334 334 335 335 # used for pvs criterium … … 337 337 338 338 AxisAligned { 339 minRays 20000339 minRays 50000 340 340 maxRayContribution 9.9 341 341 } -
trunk/VUT/GtpVisibilityPreprocessor/src/ViewCell.cpp
r600 r601 44 44 { 45 45 // clamp to minmax values 46 if (pvs < lower)46 /*if (pvs < lower) 47 47 return (float)lower; 48 48 if (pvs > upper) 49 49 return (float)upper; 50 50 */ 51 51 return (float)pvs; 52 52 } … … 623 623 ++ mergeStats.siblings; 624 624 #endif 625 if (((mergeStats.merged % statsOut) == 0) ||626 (realNumActiveViewCells == mMergeMinViewCells))627 {625 // if (((mergeStats.merged % statsOut) == 0) || 626 // (realNumActiveViewCells == mMergeMinViewCells)) 627 // { 628 628 cout << "merged " << mergeStats.merged << " view cells" << endl; 629 629 … … 635 635 << "#TotalRenderCost\n" << totalRenderCost << endl 636 636 << "#CurrentPvs\n" << mergedVc->GetPvs().GetSize() << endl 637 << "#ExpectedCost\n" << realExpectedCost << endl637 << "#ExpectedCost\n" << realExpectedCost / (float) realNumActiveViewCells << endl 638 638 << "#AvgRenderCost\n" << realAvgRenderCost << endl 639 639 << "#Deviation\n" << mDeviation << endl 640 640 << "#TotalPvs\n" << totalPvs << endl 641 << "#PvsSizeDecrease\n" << -pvsDiff << endl; 642 } 641 << "#PvsSizeDecrease\n" << -pvsDiff << endl 642 << "#Volume\n" << mergedVc->GetVolume() << endl 643 << "#Dummy\n" << (float)mergedVc->GetPvs().GetSize() * mergedVc->GetVolume() / mViewCellsManager->GetViewSpaceBox().GetVolume() << endl; 644 // } 643 645 } 644 646 else -
trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellsManager.cpp
r600 r601 189 189 190 190 // TODO: leak? 191 ComputeSampleContributions(constructionSamples, true, false);191 if(0)ComputeSampleContributions(constructionSamples, true, false); 192 192 cout << "finished" << endl; 193 193 … … 211 211 // store viewCells for postprocessing 212 212 const bool storeViewCells = true; 213 ComputeSampleContributions(postProcessSamples, true, storeViewCells);213 if(0)ComputeSampleContributions(postProcessSamples, true, storeViewCells); 214 214 // merge the view cells 215 215 PostProcess(preprocessor->mObjects, postProcessSamples); … … 224 224 visualizationSamples); 225 225 226 ComputeSampleContributions(visualizationSamples, true, storeViewCells);226 if(0)ComputeSampleContributions(visualizationSamples, true, storeViewCells); 227 227 228 228 //Debug << "visualizationsamples: " << mVisualizationSamples << " " << visualizationSamples.size() << endl; … … 2516 2516 cout << "Computing remaining ray contributions ... "; 2517 2517 // recast rest of rays 2518 if (0) 2518 2519 ComputeSampleContributions(savedRays, true, false); 2519 2520 cout << "finished" << endl; … … 2696 2697 2697 2698 VssRayContainer postProcessRays; 2698 GetRaySets(rays, mPostProcessSamples, postProcessRays);2699 if(0)GetRaySets(rays, mPostProcessSamples, postProcessRays); 2699 2700 2700 2701 Debug << "post processing using " << (int)postProcessRays.size() << " samples" << endl; -
trunk/VUT/GtpVisibilityPreprocessor/src/VspBspTree.cpp
r600 r601 55 55 56 56 57 /********************************************************************** /58 /* class VspBspTree implementation*/59 /********************************************************************** /57 /******************************************************************************/ 58 /* class VspBspTree implementation */ 59 /******************************************************************************/ 60 60 61 61 … … 413 413 const float prop = mUseAreaForPvs ? geom->GetArea() : geom->GetVolume(); 414 414 415 Debug << "herevol: " << geom->GetVolume() << endl; 416 Debug << "herevol:: " << mBox.GetVolume() << endl; 417 415 418 VspBspTraversalData tData(mRoot, 416 419 new PolygonContainer(polys), … … 431 434 mTotalCost = tData.GetCost() / mBox.GetVolume(); 432 435 436 Debug << "**volume** " << mBox.GetVolume() << endl; 437 438 mSplits = 0; 439 mSubdivisionStats 440 << "#Nodes\n" << ++ mSplits << endl 441 << "#RenderCostDecrease\n0\n" << endl 442 << "#TotalRenderCost\n" << mTotalCost << endl; 443 433 444 Debug << "total cost: " << mTotalCost << endl; 434 mSplits = 0;445 435 446 436 447 mBspStats.Start(); … … 664 675 665 676 // if geometry was not already computed 666 if ( !frontData.mGeometry && !backData.mGeometry)677 if (1)//!frontData.mGeometry && !backData.mGeometry) 667 678 { 668 679 frontData.mGeometry = new BspNodeGeometry(); … … 682 693 else 683 694 { 695 //Debug << "here2" << endl; 684 696 frontData.mProbability = frontData.mGeometry->GetVolume(); 685 backData.mProbability = backData.mGeometry->GetVolume(); 697 backData.mProbability = tData.mProbability - frontData.mProbability; 698 //backData.mProbability = backData.mGeometry->GetVolume(); 686 699 } 687 700 } … … 1328 1341 { 1329 1342 pFront = geomFront.GetVolume(); 1330 pBack = pOverall - geomFront.GetVolume(); 1343 //pBack = pOverall - geomFront.GetVolume(); 1344 pBack = geomBack.GetVolume(); 1345 1346 /*Debug << "volume: " << data.mGeometry->GetVolume() << endl; 1347 Debug << "volum1: " << geomFront.GetVolume() << endl; 1348 Debug << "volum2: " << geomBack.GetVolume() << endl; 1349 Debug << "sum_: " << geomFront.GetVolume() + geomBack.GetVolume() << endl;*/ 1331 1350 } 1332 1351 else
Note: See TracChangeset
for help on using the changeset viewer.