Changeset 497
- Timestamp:
- 01/04/06 18:39:24 (19 years ago)
- Location:
- trunk/VUT/GtpVisibilityPreprocessor
- Files:
-
- 11 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/scripts/Preprocessor.vcproj
r487 r497 20 20 Name="VCCLCompilerTool" 21 21 Optimization="0" 22 AdditionalIncludeDirectories="..\support;..\support\devil\include;..\support\zlib\include;..\include "22 AdditionalIncludeDirectories="..\support;..\support\devil\include;..\support\zlib\include;..\include;"$(QTDIR)"" 23 23 PreprocessorDefinitions="WIN32;_DEBUG;_LIB" 24 24 MinimalRebuild="TRUE" … … 62 62 <Tool 63 63 Name="VCCLCompilerTool" 64 AdditionalIncludeDirectories="..\support;..\support\devil\include;..\support\zlib\include;..\include "64 AdditionalIncludeDirectories="..\support;..\support\devil\include;..\support\zlib\include;..\include;"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui";"$(QTDIR)\include";"$(QTDIR)\include\QtOpenGl";include" 65 65 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;" 66 66 RuntimeLibrary="2" … … 76 76 <Tool 77 77 Name="VCLinkerTool" 78 AdditionalDependencies="xerces-c_2.lib zdll.lib zziplib.lib devil.lib "79 AdditionalLibraryDirectories="..\support\xercesc\lib\;..\support\zlib\lib\;..\support\devil\lib;"$(QTDIR)\lib" "/>78 AdditionalDependencies="xerces-c_2.lib zdll.lib zziplib.lib devil.lib qtmain.lib QtOpenGL4.lib QtUiTools.lib QtCore4.lib QtDesigner4.lib QtGui4.lib QtAssistantClient.lib QtTest4.lib Qt3Supportd4.lib QAxContainer.lib QAxServerd.lib QtXml4.lib glut32.lib OpenGL32.Lib glu32.lib QAxServer.lib QtDesignerComponents4.lib" 79 AdditionalLibraryDirectories="..\support\xercesc\lib\;..\support\zlib\lib\;..\support\devil\lib;"$(QTDIR)\lib";..\include\GL"/> 80 80 <Tool 81 81 Name="VCMIDLTool"/> … … 147 147 </File> 148 148 <File 149 RelativePath="..\src\GlRenderer.cpp"> 150 </File> 151 <File 152 RelativePath="..\src\GlRenderer.h"> 153 <FileConfiguration 154 Name="Release|Win32"> 155 <Tool 156 Name="VCCustomBuildTool" 157 Description="Performing moc on $(InputName).h" 158 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp" 159 Outputs="$(InputDir)moc_$(InputName).cpp"/> 160 </FileConfiguration> 161 </File> 162 <File 149 163 RelativePath="..\src\gzstream.cpp"> 150 164 </File> … … 195 209 </File> 196 210 <File 211 RelativePath="..\src\moc_GlRenderer.cpp"> 212 </File> 213 <File 214 RelativePath="..\src\moc_Preprocessor.cpp"> 215 </File> 216 <File 217 RelativePath="..\src\moc_PreprocessorThread.cpp"> 218 </File> 219 <File 197 220 RelativePath="..\src\MutualVisibility.cpp"> 198 221 </File> … … 223 246 <File 224 247 RelativePath="..\src\Preprocessor.h"> 248 <FileConfiguration 249 Name="Release|Win32"> 250 <Tool 251 Name="VCCustomBuildTool" 252 Description="Performing moc on $(InputName).h" 253 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp" 254 Outputs="$(InputDir)moc_$(InputName).cpp"/> 255 </FileConfiguration> 256 </File> 257 <File 258 RelativePath="..\src\PreprocessorThread.cpp"> 259 </File> 260 <File 261 RelativePath="..\src\PreprocessorThread.h"> 262 <FileConfiguration 263 Name="Release|Win32"> 264 <Tool 265 Name="VCCustomBuildTool" 266 Description="Performing moc on $(InputName).h" 267 CommandLine="%qtdir%\bin\moc.exe $(InputDir)$(InputName).h -o $(InputDir)moc_$(InputName).cpp" 268 Outputs="$(InputDir)moc_$(InputName).cpp"/> 269 </FileConfiguration> 225 270 </File> 226 271 <File -
trunk/VUT/GtpVisibilityPreprocessor/scripts/default.env
r495 r497 21 21 # stored sample rays 22 22 samplesFilename rays.out 23 useGlRenderer false 23 24 # type sampling 24 25 type vss … … 68 69 RssPreprocessor { 69 70 samplesPerPass 100000 70 initialSamples 40000071 vssSamples 1000000 72 vssSamplesPerPass 10000071 initialSamples 500000 72 vssSamples 10000000 73 vssSamplesPerPass 500000 73 74 useImportanceSampling true 74 loadInitialSamples true 75 76 directionalSampling true 77 objectBasedSampling false 78 79 Export { 80 pvs false 81 rssTree false 82 rays true 83 numRays 5000 84 } 85 86 useViewcells true 87 updateSubdivision true 88 loadInitialSamples true 75 89 storeInitialSamples false 76 90 } 77 91 92 78 93 RssTree { 79 #useRss false 94 80 95 epsilon 1e-6 81 96 82 97 maxDepth 40 83 minPvs 598 minPvs 3 84 99 minRays 30 85 100 minSize 0.001 86 maxCostRatio 0.987 maxRayContribution 0. 188 101 maxCostRatio 1.0 102 maxRayContribution 0.5 103 maxRays 1000000 89 104 maxTotalMemory 200 90 105 maxStaticMemory 100 … … 93 108 # splitType heuristic 94 109 splitType hybrid 95 splitUseOnlyDrivingAxis false 110 splitUseOnlyDrivingAxis true 111 importanceBasedCost false 96 112 97 113 interleaveDirSplits true 98 dirSplitDepth 9114 dirSplitDepth 0 99 115 100 116 numberOfEndPointDomains 10000 … … 152 168 loadFromFile false 153 169 #type kdTree 154 type vspKdTree170 #type vspKdTree 155 171 #type bspTree 156 172 type vspBspTree … … 179 195 colorCode Random 180 196 exportRays false 181 exportGeometry true197 exportGeometry false 182 198 } 183 199 … … 294 310 minViewCells 500 295 311 maxPvsSize 1000 296 useRaysForMerge true312 useRaysForMerge false 297 313 } 298 314 } -
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.