Changeset 497 for trunk/VUT/GtpVisibilityPreprocessor/src
- Timestamp:
- 01/04/06 18:39:24 (19 years ago)
- Location:
- trunk/VUT/GtpVisibilityPreprocessor/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/src/GlRenderer.cpp
r496 r497 19 19 GlRenderer::GlRenderer(SceneGraph *sceneGraph, 20 20 ViewCellsManager *viewCellsManager): 21 mSceneGraph(sceneGraph), 22 mViewCellsManager(viewCellsManager) 21 Renderer(sceneGraph, viewCellsManager) 23 22 { 24 23 mSceneGraph->CollectObjects(&mObjects); … … 355 354 356 355 357 void 356 bool 358 357 GlRenderer::RenderScene() 359 358 { … … 369 368 glEndList(); 370 369 } 370 return true; 371 371 } 372 372 -
trunk/VUT/GtpVisibilityPreprocessor/src/GlRenderer.h
r496 r497 8 8 #include "Containers.h" 9 9 #include "Halton.h" 10 #include "Renderer.h" 10 11 11 12 class SceneGraph; … … 44 45 */ 45 46 46 class GlRenderer 47 class GlRenderer: public Renderer 47 48 { 48 49 … … 79 80 void RandomViewPoint(); 80 81 81 void82 bool 82 83 RenderScene(); 83 84 -
trunk/VUT/GtpVisibilityPreprocessor/src/Halton.h
r492 r497 10 10 11 11 float halton(float baseRec, float prev) const { 12 float r = 1 - prev - 1e-10 ;12 float r = 1 - prev - 1e-10f; 13 13 if (baseRec < r) 14 14 return prev + baseRec; … … 29 29 30 30 Halton2() { 31 _invBases[0] = 1. /2;32 _invBases[1] = 1. /3;31 _invBases[0] = 1.0f/2; 32 _invBases[1] = 1.0f/3; 33 33 Reset(); 34 34 } … … 112 112 int N1 = 0; 113 113 int copyOfIndex = index; 114 if(base >= 2 & index >= 1) { 114 if((base >= 2) && (index >= 1)) { 115 // changed by matt 116 //if(base >= 2 & index >= 1) { 115 117 while(copyOfIndex > 0) { 116 118 N1 = (copyOfIndex / base); -
trunk/VUT/GtpVisibilityPreprocessor/src/Intersectable.h
r492 r497 5 5 #include "Pvs.h" 6 6 7 classVssRayContainer;7 struct VssRayContainer; 8 8 9 9 class Intersectable { -
trunk/VUT/GtpVisibilityPreprocessor/src/RenderSimulator.cpp
r482 r497 28 28 29 29 RenderSimulator::RenderSimulator(ViewCellsManager *viewCellsManager): 30 Renderer( viewCellsManager)30 Renderer(NULL, viewCellsManager) 31 31 {} 32 32 … … 35 35 float vcOverhead, 36 36 float moveSpeed): 37 Renderer( viewCellsManager),37 Renderer(NULL, viewCellsManager), 38 38 mObjRenderCost(objRenderCost), 39 39 mVcOverhead(vcOverhead), -
trunk/VUT/GtpVisibilityPreprocessor/src/Renderer.cpp
r468 r497 6 6 { 7 7 } 8 Renderer::Renderer(ViewCellsManager *vcm): 9 mViewCellsManager(vcm) 8 9 Renderer::Renderer(SceneGraph *sceneGraph, ViewCellsManager *vcm): 10 mSceneGraph(sceneGraph), mViewCellsManager(vcm) 10 11 { 11 12 } -
trunk/VUT/GtpVisibilityPreprocessor/src/Renderer.h
r468 r497 5 5 6 6 class ViewCellsManager; 7 7 class SceneGraph; 8 8 /** Abstract class used to render the scene. 9 9 */ … … 14 14 15 15 Renderer(); 16 Renderer( ViewCellsManager *vcm);17 16 Renderer(SceneGraph *sceneGraph, ViewCellsManager *vcm); 17 18 18 ~Renderer(); 19 19 … … 26 26 protected: 27 27 ViewCellsManager *mViewCellsManager; 28 SceneGraph *mSceneGraph; 28 29 }; 29 30 -
trunk/VUT/GtpVisibilityPreprocessor/src/VspBspTree.cpp
r495 r497 45 45 mViewCellsManager(NULL), 46 46 mStoreRays(false), 47 mOutOfBoundsCell(NULL) 47 mOutOfBoundsCell(NULL), 48 mShowInvalidSpace(false) 48 49 { 49 50 bool randomize = false; … … 1515 1516 1516 1517 ViewCell::NewMail(); 1517 1518 1518 1519 while (!nodeStack.empty()) 1519 1520 { 1520 1521 BspNode *node = nodeStack.top(); 1521 1522 nodeStack.pop(); 1522 1523 1523 if (node->IsLeaf() )1524 1524 if (node->IsLeaf() && !mShowInvalidSpace && node->TreeValid()) 1525 { 1525 1526 ViewCell *viewCell = dynamic_cast<BspLeaf *>(node)->GetViewCell(); 1526 1527 1527 1528 if (!viewCell->Mailed()) 1528 1529 { 1529 1530 viewCell->Mail(); 1530 1531 viewCells.push_back(viewCell); 1531 1532 1533 1534 1532 } 1533 } 1534 else 1535 { 1535 1536 BspInterior *interior = dynamic_cast<BspInterior *>(node); 1536 1537 1537 1538 nodeStack.push(interior->GetFront()); 1538 1539 nodeStack.push(interior->GetBack()); 1539 1540 1540 } 1541 } 1541 1542 } 1542 1543 -
trunk/VUT/GtpVisibilityPreprocessor/src/VspBspTree.h
r495 r497 680 680 BspViewCell *mOutOfBoundsCell; 681 681 682 /// if invalid space should be shown 683 bool mShowInvalidSpace; 684 682 685 private: 683 686 -
trunk/VUT/GtpVisibilityPreprocessor/src/default.env
r496 r497 19 19 20 20 Preprocessor { 21 # stored sample rays 22 samplesFilename rays.out 23 useGlRenderer true 21 24 # type sampling 22 # type vss 23 type rss 24 useGlRenderer true 25 type vss 26 # type rss 25 27 } 26 28 … … 28 30 samplesPerPass 100000 29 31 initialSamples 500000 30 vssSamples 100000031 vssSamplesPerPass 5000032 vssSamples 200000 33 vssSamplesPerPass 100000 32 34 useImportanceSampling true 35 loadInitialSamples false 36 storeInitialSamples false 33 37 } 34 38 … … 39 43 40 44 maxDepth 40 41 minPvs 3 42 minRays 20045 minPvs 30 46 minRays 1000 43 47 minSize 0.001 44 maxCostRatio 2.048 maxCostRatio 0.9 45 49 maxRayContribution 0.05 46 50 47 51 maxTotalMemory 200 48 maxStaticMemory 10049 50 #splitType regular52 maxStaticMemory 20 53 54 splitType regular 51 55 # splitType heuristic 52 splitType hybrid56 # splitType hybrid 53 57 splitUseOnlyDrivingAxis true 54 58 … … 82 86 useViewcells true 83 87 updateSubdivision true 84 } 88 loadInitialSamples true 89 storeInitialSamples false 90 } 91 85 92 86 93 RssTree { … … 168 175 169 176 height 5.0 170 maxViewCells 0 171 172 PostProcessing { 173 minPvsDif 100 177 maxViewCells 500 178 maxPvs 200 179 180 181 PostProcess { 182 minPvsDif 100 174 183 minPvs 10 175 184 maxPvs 150 176 185 # how much samples are used for post processing 177 samples 10 178 } 179 180 Visualization { 181 # how much samples are be used for visualization 182 samples 90000 186 samples 100000 187 } 188 189 Visualization { 190 # how much samples we use for visualization 191 samples 5000 192 #colorCode PVS 193 #colorCode MergedLeaves 194 #colorCode MergedTreeDiff 195 colorCode Random 196 exportRays false 197 exportGeometry true 183 198 } 184 199 185 200 # filename ../data/atlanta/atlanta_viewcells_large.x3d 186 filename ../data/vienna/viewcells-25-sel.x3d201 # filename ../data/vienna/viewcells-25-sel.x3d 187 202 # filename ../data/vienna/viewcells-25.x3d 188 203 # filename ../data/vienna/viewcells-large-sel.x3d … … 192 207 Simulation { 193 208 objRenderCost 1.0 194 vcOverhead 7.0 195 moveSpeed 3.0 209 vcOverhead 1.0 210 # always between 0 and 1 211 moveSpeed 0.0001 196 212 } 197 213 … … 201 217 202 218 Construction { 203 samples 100000219 samples 300000 204 220 } 205 221 … … 207 223 maxDepth 40 208 224 minPvs 50 209 minRays 1 210 minSize 0.1 211 maxCostRatio 999.0 212 maxRayContribution 0.2 213 } 214 215 maxTotalMemory 400 216 maxStaticMemory 200 217 218 splitType regular 219 # splitType heuristics 225 minRays 300 226 minSize 0.001 227 maxCostRatio 0.9 228 missTolerance 4 229 maxRayContribution 0.5 230 } 231 232 maxTotalMemory 100 233 maxStaticMemory 50 234 235 splitType regular 236 #splitType heuristics 237 splitUseOnlyDrivingAxis true 220 238 ct_div_ci 0.0 239 240 # maximal cost for merging a view cell 241 PostProcess { 242 maxCostRatio 0.005 243 minViewCells 200 244 maxPvsSize 50000 245 } 246 247 248 Visualization { 249 } 221 250 } 222 251 223 252 VspBspTree { 224 253 Construction { 225 samples 100000254 samples 500000 226 255 epsilon 0.005 256 randomize false 227 257 } 228 258 … … 237 267 238 268 # maximal candidates for split planes 239 maxPolyCandidates 50240 maxRayCandidates 50269 maxPolyCandidates 100 270 maxRayCandidates 100 241 271 242 272 # maximal tested rays for split cost heuristics 243 maxTests 10000273 maxTests 2000 244 274 245 275 # factors for evaluating split plane costs … … 252 282 Termination { 253 283 # parameters used for autopartition 254 minRays 1000 255 minPolygons -1 256 maxDepth 40 257 minPvs 20 258 minArea 200000 259 maxRayContribution 0.005 260 #maxAccRayLength 100 284 minRays 100 285 minPolygons -1 286 maxDepth 30 287 minPvs 20 288 #minArea 0.0001 289 minArea 0.000 290 maxRayContribution 0.005 291 maxCostRatio 0.9 292 missTolerance 4 293 #maxAccRayLength 100 294 295 maxViewCells 20000 261 296 262 297 # used for pvs criterium 263 298 ct_div_ci 0.0 264 265 # axis aligned splits 266 AxisAligned { 267 minPolys 5000 268 minRays 500 269 minObjects 10 270 # maxCostRatio 0.9 271 # ct_div_ci 0.5 272 } 273 } 274 275 # AxisAligned { 276 # splitBorder 0.01 277 # } 278 299 } 300 301 splitUseOnlyDrivingAxis false 279 302 280 303 Visualization { … … 282 305 exportSplits true 283 306 } 284 } 307 308 PostProcess { 309 maxCostRatio 0.1 310 minViewCells 500 311 maxPvsSize 1000 312 useRaysForMerge true 313 } 314 }
Note: See TracChangeset
for help on using the changeset viewer.