Changeset 2255
- Timestamp:
- 03/16/07 17:20:26 (18 years ago)
- Location:
- GTP/trunk/Lib/Vis
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/GtpVisibility.sln
r2230 r2255 17 17 {5776B40B-5FCE-46D5-8F7C-3912E24E0638} = {5776B40B-5FCE-46D5-8F7C-3912E24E0638} 18 18 {5776B40B-5FCE-46D5-8F7C-3912E24E0638} = {5776B40B-5FCE-46D5-8F7C-3912E24E0638} 19 {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900} 19 20 {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 21 EndProjectSection 22 EndProject 23 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "Preprocessing\src\Preprocessor.vcproj", "{EABCE292-D598-4600-A1C9-2591E7D62FDA}" 24 ProjectSection(ProjectDependencies) = postProject 25 EndProjectSection 26 EndProject 27 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPreprocessor", "Preprocessing\src\TestPreprocessor.vcproj", "{69BC58F0-C7EB-4B43-B782-B6F047EF0528}" 28 ProjectSection(ProjectDependencies) = postProject 29 {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA} 30 EndProjectSection 31 EndProject 32 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCullingTerrain", "..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.vcproj", "{248F19A6-2FE0-4F5D-8928-E0EA10609887}" 33 ProjectSection(ProjectDependencies) = postProject 34 {5776B40B-5FCE-46D5-8F7C-3912E24E0638} = {5776B40B-5FCE-46D5-8F7C-3912E24E0638} 20 35 {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900} 21 EndProjectSection22 EndProject23 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Preprocessor", "Preprocessing\src\Preprocessor.vcproj", "{EABCE292-D598-4600-A1C9-2591E7D62FDA}"24 ProjectSection(ProjectDependencies) = postProject25 EndProjectSection26 EndProject27 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestPreprocessor", "Preprocessing\src\TestPreprocessor.vcproj", "{69BC58F0-C7EB-4B43-B782-B6F047EF0528}"28 ProjectSection(ProjectDependencies) = postProject29 {EABCE292-D598-4600-A1C9-2591E7D62FDA} = {EABCE292-D598-4600-A1C9-2591E7D62FDA}30 EndProjectSection31 EndProject32 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestCullingTerrain", "..\..\App\Demos\Vis\HillyTerrain\OGRE\TestCullingTerrain.vcproj", "{248F19A6-2FE0-4F5D-8928-E0EA10609887}"33 ProjectSection(ProjectDependencies) = postProject34 {5776B40B-5FCE-46D5-8F7C-3912E24E0638} = {5776B40B-5FCE-46D5-8F7C-3912E24E0638}35 36 {80DECC17-BDDD-4412-8CF8-F7C1C17A7436} = {80DECC17-BDDD-4412-8CF8-F7C1C17A7436} 36 {101A7691-74F3-48B4-96A3-CF35578F5900} = {101A7691-74F3-48B4-96A3-CF35578F5900}37 37 EndProjectSection 38 38 EndProject … … 442 442 {17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Release.ActiveCfg = Release|Win32 443 443 {17F2C6F9-6101-430E-ABF4-71383868EF24}.Universal Unicode Release.Build.0 = Release|Win32 444 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Debug.ActiveCfg = Debug|Win32 445 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Debug.Build.0 = Debug|Win32 446 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Debug Static.ActiveCfg = Debug|Win32 447 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Debug Static.Build.0 = Debug|Win32 448 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Debug.ActiveCfg = Debug|Win32 449 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Debug.Build.0 = Debug|Win32 450 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Release.ActiveCfg = Release|Win32 451 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Release.Build.0 = Release|Win32 452 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Unicode Debug.ActiveCfg = Debug|Win32 453 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Unicode Debug.Build.0 = Debug|Win32 454 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Unicode Release.ActiveCfg = Release|Win32 455 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Unicode Release.Build.0 = Release|Win32 456 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Debug.ActiveCfg = Debug|Win32 457 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Debug.Build.0 = Debug|Win32 458 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Release.ActiveCfg = Release|Win32 459 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Release.Build.0 = Release|Win32 460 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Unicode Debug.ActiveCfg = Debug|Win32 461 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Unicode Debug.Build.0 = Debug|Win32 462 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Unicode Release.ActiveCfg = Release|Win32 463 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.DLL Universal Unicode Release.Build.0 = Release|Win32 464 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.mlrt.ActiveCfg = mlrt|Win32 465 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.mlrt.Build.0 = mlrt|Win32 466 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release.ActiveCfg = Release|Win32 467 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release.Build.0 = Release|Win32 468 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release Internal.ActiveCfg = Release Internal|Win32 469 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release Internal.Build.0 = Release Internal|Win32 470 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release Static.ActiveCfg = Release|Win32 471 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release Static.Build.0 = Release|Win32 472 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release_Internal.ActiveCfg = Release_Internal|Win32 473 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release_Internal.Build.0 = Release_Internal|Win32 474 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.release_noqt.ActiveCfg = Release_qt|Win32 475 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.release_noqt.Build.0 = Release_qt|Win32 476 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release_qt.ActiveCfg = Release_qt|Win32 477 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Release_qt.Build.0 = Release_qt|Win32 478 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Unicode Debug.ActiveCfg = Debug|Win32 479 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Unicode Debug.Build.0 = Debug|Win32 480 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Unicode Release.ActiveCfg = Release|Win32 481 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Unicode Release.Build.0 = Release|Win32 482 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Debug.ActiveCfg = Debug|Win32 483 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Debug.Build.0 = Debug|Win32 484 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Release.ActiveCfg = Release|Win32 485 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Release.Build.0 = Release|Win32 486 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Unicode Debug.ActiveCfg = Debug|Win32 487 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Unicode Debug.Build.0 = Debug|Win32 488 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Unicode Release.ActiveCfg = Release|Win32 489 {5776B40B-5FCE-46D5-8F7C-3912E24E0638}.Universal Unicode Release.Build.0 = Release|Win32 444 490 EndGlobalSection 445 491 GlobalSection(ExtensibilityGlobals) = postSolution -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionCullingSceneManager.h
r2254 r2255 191 191 void _renderScene(Camera* camera, Viewport* vp, bool includeOverlays); 192 192 193 int FindExactVisibleObjects(Camera *camera,194 Viewport* vp,195 const bool fromPoint,196 const bool nodeVisibility);193 int QueryVisibleObjectsExact(Camera *camera, 194 Viewport* vp, 195 const bool fromPoint, 196 const bool nodeVisibility); 197 197 198 198 void AddVisibleMeshGeometryToQueue(const GtpVisibility::MeshInfoContainer &visibleGeometry, … … 299 299 int mCurrentFrame; 300 300 301 int mQueryMode; 302 303 enum {EXACT_QUERIES, NODE_QUERIES, APPROXIMATE_QUERIES}; 304 301 305 ObjReader *mObjReader; 302 306 … … 305 309 bool mUseFromPointQueries; 306 310 307 bool mUseExactQueries; 308 309 bool mUseDepthPassForQueries; 311 bool mResetMaterialForQueries; 310 312 }; 311 313 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionQueriesQueryManager.h
r2171 r2255 15 15 on different hierarchy types, while reusing the implementation of the query methods. 16 16 */ 17 OcclusionQueriesQueryManager(GtpVisibility::HierarchyInterface *hierarchyInterface, Viewport *vp, 18 int queryModes, int itemBufferMode); 17 OcclusionQueriesQueryManager(GtpVisibility::HierarchyInterface *hierarchyInterface, 18 Viewport *vp, 19 int queryModes, 20 int itemBufferMode); 19 21 20 22 void ComputeCameraVisibility(const Camera &camera, … … 22 24 GtpVisibility::MeshInfoContainer *visibleGeometry, 23 25 GtpVisibility::PatchInfoContainer *visiblePatches, 24 bool relativeVisibility = false); 26 const bool relativeVisibility, 27 const bool approximateVisibility); 25 28 26 29 /** … … 32 35 GtpVisibility::MeshInfoContainer *visibleGeometry, 33 36 GtpVisibility::PatchInfoContainer *visiblePatches, 34 bool relativeVisibility = false); 37 const bool relativeVisibility, 38 const bool approximateVisibility); 35 39 36 40 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformQueryManager.h
r925 r2255 18 18 */ 19 19 PlatformQueryManager(GtpVisibility::HierarchyInterface *hierarchyInterface, 20 Viewport *vp, int queryModes); 20 Viewport *vp, 21 int queryModes); 21 22 22 23 /** … … 25 26 */ 26 27 void ComputeFromPointVisibility(const Vector3 &point, 27 GtpVisibility::NodeInfoContainer *visibleNodes, 28 GtpVisibility::MeshInfoContainer *visibleGeometry, 29 GtpVisibility::PatchInfoContainer *visiblePatches, 30 bool relativeVisibility = false); 28 GtpVisibility::NodeInfoContainer *visibleNodes, 29 GtpVisibility::MeshInfoContainer *visibleGeometry, 30 GtpVisibility::PatchInfoContainer *visiblePatches, 31 const bool relativeVisibility, 32 const bool approximateVisibility); 31 33 32 34 void ComputeCameraVisibility(const Camera &camera, 33 GtpVisibility::NodeInfoContainer *visibleNodes, 34 GtpVisibility::MeshInfoContainer *visibleGeometry, 35 GtpVisibility::PatchInfoContainer *visiblePatches, 36 bool relativeVisibility = false); 35 GtpVisibility::NodeInfoContainer *visibleNodes, 36 GtpVisibility::MeshInfoContainer *visibleGeometry, 37 GtpVisibility::PatchInfoContainer *visiblePatches, 38 const bool relativeVisibility, 39 const bool approximateVisibility); 37 40 38 41 bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false); -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp
r2254 r2255 67 67 mFlushRate(10), 68 68 mCurrentFrame(0), 69 mUseVisibilityQueries( false),69 mUseVisibilityQueries(true), 70 70 mUseFromPointQueries(false), 71 m UseExactQueries(false),72 m UseDepthPassForQueries(false)71 mQueryMode(NODE_QUERIES), 72 mResetMaterialForQueries(false) 73 73 { 74 74 Ogre::LogManager::getSingleton(). … … 245 245 } 246 246 247 val = config.getSetting(" UseExactQueries");247 val = config.getSetting("QueryObjectsMode"); 248 248 249 249 if (!val.empty()) 250 250 { 251 if (val == "EXACT") 252 mQueryMode = EXACT_QUERIES; 253 else if (val == "NODE") 254 mQueryMode = NODE_QUERIES; 255 else 256 mQueryMode = APPROXIMATE_QUERIES; 257 } 258 259 val = config.getSetting("ResetMaterialForQueries"); 260 261 if (!val.empty()) 262 { 251 263 if (val == "yes") 252 m UseExactQueries = true;264 mResetMaterialForQueries = true; 253 265 else 254 mUseExactQueries = false; 255 } 256 257 val = config.getSetting("UseDepthPassForQueries"); 258 259 if (!val.empty()) 260 { 261 if (val == "yes") 262 mUseDepthPassForQueries = true; 263 else 264 mUseDepthPassForQueries = false; 266 mResetMaterialForQueries = false; 265 267 } 266 268 … … 314 316 algorithm = 315 317 GtpVisibility::VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING; 318 LogManager::getSingleton().logMessage("Using chc algorithm"); 316 319 } 317 320 else if (val == "SWC") … … 319 322 algorithm = 320 323 GtpVisibility::VisibilityEnvironment::STOP_AND_WAIT_CULLING; 324 325 LogManager::getSingleton().logMessage("Using stop and wait algorithm"); 321 326 } 322 327 else if (val == "VFC") … … 324 329 algorithm = 325 330 GtpVisibility::VisibilityEnvironment::FRUSTUM_CULLING; 331 332 LogManager::getSingleton().logMessage("Using frustum culling algorithm"); 326 333 } 327 334 else // default rendering … … 331 338 332 339 mNormalExecution = true; 340 LogManager::getSingleton().logMessage("Using default octree scene manager rendering"); 333 341 } 334 342 335 343 mVisibilityManager->SetCullingManager(algorithm); 336 337 stringstream d;338 d << "setting algorithm to: " << algorithm;339 LogManager::getSingleton().logMessage(d.str());340 344 } 341 345 342 346 ///////////// 343 347 // terrain options 348 349 if (mUseDepthPass) 350 LogManager::getSingleton().logMessage("using depth pass"); 351 else 352 LogManager::getSingleton().logMessage("not using depth pass"); 353 354 if (mExecuteVertexProgramForAllPasses) 355 LogManager::getSingleton().logMessage("executing vertex program for passes"); 356 else 357 LogManager::getSingleton().logMessage("not executing vertex program for passes"); 358 359 if (mUseVisibilityQueries) 360 LogManager::getSingleton().logMessage("using visibility queries"); 361 else 362 LogManager::getSingleton().logMessage("not using visibility queries"); 363 364 if (mUseFromPointQueries) 365 LogManager::getSingleton().logMessage("using from point queries"); 366 else 367 LogManager::getSingleton().logMessage("not using from point queries"); 368 369 if (mQueryMode == EXACT_QUERIES) 370 LogManager::getSingleton().logMessage("using exact queries"); 371 else if (mQueryMode == NODE_QUERIES) 372 LogManager::getSingleton().logMessage("using node queries"); 373 else if (mQueryMode == APPROXIMATE_QUERIES) 374 LogManager::getSingleton().logMessage("using approximate queries"); 375 376 if (mResetMaterialForQueries) 377 LogManager::getSingleton().logMessage("resetting material for queries"); 378 else 379 LogManager::getSingleton().logMessage("resetting material for queries"); 380 381 if (mDeleteQueueAfterRendering) 382 LogManager::getSingleton().logMessage("flushing queue after some frames"); 383 else 384 LogManager::getSingleton().logMessage("not flushing queue after some frames"); 344 385 345 386 if (!mShowTerrain) … … 449 490 selectPageSource(pageSourceName, optlist); 450 491 451 if (mUseDepthPass) 452 LogManager::getSingleton().logMessage("using depth"); 453 else 454 LogManager::getSingleton().logMessage("not using depth"); 455 456 if (mExecuteVertexProgramForAllPasses) 457 LogManager::getSingleton().logMessage("executing vertex program for passes"); 458 else 459 LogManager::getSingleton().logMessage("not executing vertex program for passes"); 460 461 if (mUseVisibilityQueries) 462 LogManager::getSingleton().logMessage("using visibility queries"); 463 else 464 LogManager::getSingleton().logMessage("not using visibility queries"); 465 466 if (mUseFromPointQueries) 467 LogManager::getSingleton().logMessage("using from point queries"); 468 else 469 LogManager::getSingleton().logMessage("not using from point queries"); 470 471 if (mUseExactQueries) 472 LogManager::getSingleton().logMessage("using exact queries"); 473 else 474 LogManager::getSingleton().logMessage("not using exact queries"); 475 476 if (mUseDepthPassForQueries) 477 LogManager::getSingleton().logMessage("using depth pass for queries"); 478 else 479 LogManager::getSingleton().logMessage("not using depth pass for queries"); 480 481 if (mDeleteQueueAfterRendering) 482 LogManager::getSingleton().logMessage("flushing queue after rendering"); 483 else 484 LogManager::getSingleton().logMessage("not flushing queue after rendering"); 485 492 486 493 LogManager::getSingleton().logMessage("****** OcclusionCullingSceneManager Options Finished ********"); 487 494 } … … 1126 1133 return true; 1127 1134 } 1128 if (key == " UseExactQueries")1129 { 1130 m UseExactQueries = *static_cast<const bool*>(val);1131 1132 return true; 1133 } 1134 if (key == " UseDepthPassForQueries")1135 { 1136 m UseDepthPassForQueries = *static_cast<const bool *>(val);1135 if (key == "QueryMode") 1136 { 1137 mQueryMode = *static_cast<const int *>(val); 1138 1139 return true; 1140 } 1141 if (key == "ResetMaterialForQueries") 1142 { 1143 mResetMaterialForQueries = *static_cast<const bool *>(val); 1137 1144 } 1138 1145 if (key == "UseFromPointQueries") … … 1192 1199 return true; 1193 1200 } 1201 1194 1202 if (key == "VisibleObjects") 1195 1203 { … … 1201 1209 1202 1210 * static_cast<unsigned int *>(val) = 1203 (unsigned int) FindExactVisibleObjects(mCameraInProgress,1204 mCurrentViewport,1205 fromPoint,1206 nodeVisibility);1211 (unsigned int)QueryVisibleObjectsExact(mCameraInProgress, 1212 mCurrentViewport, 1213 fromPoint, 1214 nodeVisibility); 1207 1215 return true; 1208 1216 } … … 1865 1873 int i = 0; 1866 1874 1867 if (filename == "terrain" )1868 { 1869 LogManager::getSingleton().logMessage(" loading terrain");1875 if (filename == "terrain" || filename == "") 1876 { 1877 LogManager::getSingleton().logMessage("not loading scene"); 1870 1878 1871 1879 // terrain hack … … 2203 2211 } 2204 2212 //----------------------------------------------------------------------- 2205 int OcclusionCullingSceneManager:: FindExactVisibleObjects(Camera *camera,2206 Viewport* vp,2207 const bool fromPoint,2208 const bool nodeVisibility)2213 int OcclusionCullingSceneManager::QueryVisibleObjectsExact(Camera *camera, 2214 Viewport* vp, 2215 const bool fromPoint, 2216 const bool nodeVisibility) 2209 2217 { 2210 2218 const int itemBufferMode = 0; 2211 2219 const bool relativeVisibility = false; 2220 const bool approximateVisibility = false; 2212 2221 2213 2222 int queryModes = 0; … … 2236 2245 &visibleGeometry, 2237 2246 &visiblePatches, 2238 relativeVisibility); 2247 relativeVisibility, 2248 approximateVisibility); 2239 2249 } 2240 2250 else … … 2244 2254 &visibleGeometry, 2245 2255 &visiblePatches, 2246 relativeVisibility); 2256 relativeVisibility, 2257 approximateVisibility); 2247 2258 } 2248 2259 … … 2489 2500 // note:have to disable deph write for nodes! 2490 2501 bool savedUseDepthPass = mUseDepthPass; 2491 if (m UseDepthPassForQueries) mUseDepthPass = true;2502 if (mResetMaterialForQueries) mUseDepthPass = true; 2492 2503 2493 2504 // lists only used for visualization … … 2498 2509 const int itemBufferMode = 0; 2499 2510 const bool relativeVisibility = false; 2511 bool approximateVisibility = false; 2500 2512 2501 2513 int queryModes = 0; 2502 2514 2503 if (mUseExactQueries) 2515 if (mQueryMode != 0) 2516 { 2517 queryModes |= GtpVisibility::QueryManager::NODE_VISIBILITY; 2518 2519 if (mQueryMode == 2) 2520 { 2521 approximateVisibility = true; 2522 } 2523 } 2524 else 2525 { 2504 2526 queryModes |= GtpVisibility::QueryManager::GEOMETRY_VISIBILITY; 2505 else 2506 queryModes |= GtpVisibility::QueryManager::NODE_VISIBILITY; 2527 } 2507 2528 2508 2529 … … 2526 2547 &visibleGeometry, 2527 2548 &visiblePatches, 2528 relativeVisibility); 2549 relativeVisibility, 2550 approximateVisibility); 2529 2551 } 2530 2552 else … … 2534 2556 &visibleGeometry, 2535 2557 &visiblePatches, 2536 relativeVisibility); 2558 relativeVisibility, 2559 approximateVisibility); 2537 2560 } 2538 2561 … … 2550 2573 //-- put items in render queue 2551 2574 2552 if (m UseExactQueries)2575 if (mQueryMode != EXACT_QUERIES) 2553 2576 { 2554 2577 //////////// 2555 2578 //-- apply queries on geometry level 2556 2579 2580 AddVisibleNodeGeometryToQueue(visibleNodes, cam); 2581 } 2582 else 2583 { 2557 2584 AddVisibleMeshGeometryToQueue(visibleGeometry, cam); 2558 }2559 else2560 {2561 AddVisibleNodeGeometryToQueue(visibleNodes, cam);2562 2585 } 2563 2586 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionQueriesQueryManager.cpp
r2254 r2255 28 28 GtpVisibility::MeshInfoContainer *visibleGeometry, 29 29 GtpVisibility::PatchInfoContainer *visiblePatches, 30 bool relativeVisibility) 30 const bool relativeVisibility, 31 const bool approximateVisibility) 31 32 { 32 33 // we need access to the scene manager and the rendersystem … … 37 38 bool overlayEnabled = mViewport->getOverlaysEnabled(); 38 39 39 ///////////40 //-- render scene with item buffer (i.e., objects with their id as color codes)41 42 40 //mItemBufferMode = 0; 43 if (0 && 44 (mItemBufferMode && mQueryModes) != 0) 45 { 41 if (0 && (mItemBufferMode && mQueryModes) != 0) 42 { 43 /////////// 44 //-- render scene with item buffer (ids are used as color codes) 45 46 46 int savedQueryModes = mQueryModes; 47 47 mQueryModes = mItemBufferMode; … … 51 51 visibleGeometry, 52 52 visiblePatches, 53 relativeVisibility); 53 relativeVisibility, 54 approximateVisibility); 54 55 55 56 // overlays cause false visibility … … 175 176 pfHierarchyInterface->CheckFrustumVisible(*nodeIt, intersects); 176 177 177 // always push back if intersects178 if ( 1 &&intersects)178 // always push back if only checking approximate visibility or intersects 179 if (approximateVisibility || intersects) 179 180 { 180 181 // no more information available … … 185 186 queryList[i].push_back(NULL); 186 187 } 187 else 188 else // issue occlusion query 188 189 { 189 190 queryList[i].push_back(mHierarchyInterface->IssueNodeOcclusionQuery(*nodeIt, false)); … … 200 201 for (geometryIt = geometryList.begin(); geometryIt != geometryIt_end; ++ geometryIt) 201 202 { 202 queryList[i].push_back(pfHierarchyInterface->IssueMeshOcclusionQuery(*geometryIt)); 203 if (approximateVisibility) 204 { 205 // no more information available 206 const int visPixels = 1; 207 const int projPixels = 1; 208 209 visibleGeometry->push_back(GtpVisibility::MeshInfo(*geometryIt, visPixels, projPixels)); 210 } 211 else 212 { 213 queryList[i].push_back(pfHierarchyInterface->IssueMeshOcclusionQuery(*geometryIt)); 214 } 203 215 } 204 216 } … … 211 223 for (patchIt = patchList.begin(); patchIt != patchIt_end; ++patchIt) 212 224 { 213 queryList[i].push_back(pfHierarchyInterface->IssuePatchOcclusionQuery(*patchIt)); 225 if (approximateVisibility) 226 { 227 // no more information available 228 const int visPixels = 1; 229 const int projPixels = 1; 230 231 visiblePatches->push_back(GtpVisibility::PatchInfo(*patchIt, visPixels, projPixels)); 232 } 233 else 234 { 235 queryList[i].push_back(pfHierarchyInterface->IssuePatchOcclusionQuery(*patchIt)); 236 } 214 237 } 215 238 } … … 284 307 GtpVisibility::MeshInfoContainer *visibleGeometry, 285 308 GtpVisibility::PatchInfoContainer *visiblePatches, 286 bool relativeVisibility) 309 const bool relativeVisibility, 310 const bool approximateVisibility) 287 311 { 288 312 PlatformQueryManager::ComputeFromPointVisibility(point, … … 290 314 visibleGeometry, 291 315 visiblePatches, 292 relativeVisibility); 316 relativeVisibility, 317 approximateVisibility); 293 318 294 319 // adds up their visibility and removes duplicates -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgrePlatformQueryManager.cpp
r2184 r2255 33 33 GtpVisibility::MeshInfoContainer *visibleGeometry, 34 34 GtpVisibility::PatchInfoContainer *visiblePatches, 35 bool relativeVisibility) 35 const bool relativeVisibility, 36 const bool approximateVisibility) 36 37 { 37 38 SceneManager *sm = … … 87 88 visibleGeometry, 88 89 visiblePatches, 89 relativeVisibility); 90 relativeVisibility, 91 approximateVisibility); 90 92 //mViewport->getTarget()->update(); for(int j=0; j<10000000; j++) printf("wait"); 91 93 … … 102 104 //----------------------------------------------------------------------- 103 105 void PlatformQueryManager::ComputeCameraVisibility( 104 const Camera &camera, 105 GtpVisibility::NodeInfoContainer *visibleNodes, 106 GtpVisibility::MeshInfoContainer *visibleGeometry, 107 GtpVisibility::PatchInfoContainer *visiblePatches, 108 bool relativeVisibility) 106 const Camera &camera, 107 GtpVisibility::NodeInfoContainer *visibleNodes, 108 GtpVisibility::MeshInfoContainer *visibleGeometry, 109 GtpVisibility::PatchInfoContainer *visiblePatches, 110 const bool relativeVisibility, 111 const bool approximateVisibility) 109 112 { 110 113 // we need access to the scene manager and the rendersystem -
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/Plugin_VisibilitySceneManager.vcproj
r2254 r2255 53 53 Name="VCPostBuildEventTool" 54 54 CommandLine="copy $(OutDir)\$(TargetFileName) $(OGRE_PATH)\Samples\Common\bin\$(ConfigurationName) 55 copy $(OutDir)\$(TargetFileName) E:\svn\gametools\GTP\trunk\App\Demos\Illum\Ogre\bin\$(ConfigurationName)56 55 "/> 57 56 <Tool … … 125 124 Name="VCPostBuildEventTool" 126 125 CommandLine="copy $(OutDir)\$(TargetFileName) $(OGRE_PATH)\Samples\Common\bin\$(ConfigurationName) 127 copy $(OutDir)\$(TargetFileName) E:\svn\gametools\GTP\trunk\App\Demos\Illum\Ogre\bin\$(ConfigurationName)128 126 "/> 129 127 <Tool -
GTP/trunk/Lib/Vis/OnlineCullingCHC/include/DummyQueryManager.h
r2171 r2255 10 10 hierarchy as visible node. 11 11 */ 12 class DummyQueryManager 12 class DummyQueryManager: public QueryManager 13 13 { 14 14 public: 15 15 /** Constructor taking a scene traverser for a specific type of hierarchyInterface 16 as argument.16 as argument. 17 17 */ 18 18 DummyQueryManager( HierarchyInterface *hierarchyInterface ): … … 22 22 @sa QueryManager::ComputeCameraVisibility() 23 23 */ 24 virtual void ComputeCameraVisibility(const Camera &camera, 25 NodeInfoContainer *visibleNodes, 26 MeshInfoContainer *visibleGeometry, 27 PatchInfoContainer *visiblePatches, 28 bool relativeVisibility = false); 24 virtual void ComputeCameraVisibility(const Camera &camera, 25 NodeInfoContainer *visibleNodes, 26 MeshInfoContainer *visibleGeometry, 27 PatchInfoContainer *visiblePatches, 28 const bool relativeVisibility, 29 const bool approximateVisibility); 29 30 30 31 /** 31 32 @sa QueryManager::ComputeFromPointVisibility() 32 33 */ 33 34 virtual void ComputeFromPointVisibility(const Vector3 &point, 34 35 NodeInfoContainer *visibleNodes, 35 36 MeshInfoContainer *visibleGeometry, 36 37 PatchInfoContainer *visiblePatches, 37 bool relativeVisibility = false); 38 const bool relativeVisibility, 39 const bool approximateVisibility); 38 40 }; 39 41 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/include/QueryManager.h
r1251 r2255 55 55 MeshInfoContainer *visibleGeometry, 56 56 PatchInfoContainer *visiblePatches, 57 bool relativeVisibility = false 57 const bool relativeVisibility, 58 const bool approximateVisibility 58 59 ) = 0; 59 60 … … 67 68 MeshInfoContainer *visibleGeometry, 68 69 PatchInfoContainer *visiblePatches, 69 bool relativeVisibility = false 70 const bool relativeVisibility, 71 const bool approximateVisibility 70 72 ) = 0; 71 73 -
GTP/trunk/Lib/Vis/OnlineCullingCHC/scripts/terrainCulling.cfg
r2254 r2255 12 12 # 13 13 14 DepthPass= 014 DepthPass=yes 15 15 16 16 # 17 # render queue is flushed after some frames 17 # If vertex programs should be executed even in the depth pass. 18 # This options but is necessary if vertex shader alters geometry. But it can slow down the depth pass. 19 20 ExecuteVertexProgramForDepth=no 21 22 # 23 # render queue is flushed after some frames (can improve performance) 18 24 # 19 25 20 FlushQueue=1 26 FlushQueue=yes 27 28 ########################################################## 29 30 # 31 # Settings for visible objects queries (used by _findVisibleObjects method of the scene manager) 32 # 33 34 # if visibility based queries should be applied instead of standard Octree SceneManager findvisibleobjects based 35 # on frustum culling only 36 37 UseVisibilityQueries=yes 38 39 40 # For visibility based queries: the modes go from exact (exact visibility but slow) 41 # to node (exact visibility on node level, faster) to approximate (fastest but only approximate visibility) 42 43 #QueryObjectsMode=EXACT 44 QueryObjectsMode=NODE 45 #QueryObjectsMode=APPROXIMATE; 46 47 48 # If queries should use no material for rendering. 49 # Don't use this option if vertex program / fragment program changes geometry 50 51 ResetMaterialForQueries=no 21 52 22 53 … … 25 56 26 57 # 27 # S ettings for iv scene (vienna)58 # Scene geometry loading 28 59 # 29 60 … … 40 71 41 72 # 42 # Visibility solution 73 # use this option to render only terrain 74 # 75 76 Scene=terrain 77 78 79 ###################################################### 80 81 # 82 # Visibility solution (works not yet with terrain) 43 83 # 44 84 … … 46 86 47 87 48 ######################################################################49 88 89 ################################################################## 50 90 # 51 # Settings for terrain scene 52 # 53 54 Scene=terrain 55 56 # 57 # should render queue be flushed after each frame? 91 # Terrain scene manager settings 58 92 # 59 93 60 94 61 ###########################################62 #63 # Terrain scene manager settings64 #65 #########################################66 95 67 96 # The main world texture (if you wish the terrain manager to create a material for you) -
GTP/trunk/Lib/Vis/Preprocessing/scripts/gi_final.env
r2232 r2255 16 16 17 17 Preprocessor { 18 samplesPerPass 300000018 samplesPerPass 500000 19 19 type vss 20 20 detectEmptyViewSpace true … … 163 163 Visualization { 164 164 # how much samples we use for visualization 165 samples 200165 samples 0 166 166 exportRays true 167 167 exportGeometry true … … 173 173 } 174 174 175 showVisualization true 176 #showVisualization false 175 #showVisualization true 176 showVisualization false 177 #evaluateViewCells false 177 178 evaluateViewCells true 178 179 179 180 Evaluation { 180 #samples 200000000 181 #samplesForStats 100000000 182 samples 60000000 183 samplesForStats 30000000 184 185 samplesPerPass 250000 186 187 #stepSize 500 188 stepSize 100 181 samples 100000000 182 samplesForStats 100000000 183 #samples 10000000 184 #samplesForStats 10000000 185 186 samplesPerPass 500000 187 stepSize 200 189 188 190 189 samplingType box … … 221 220 222 221 # maximum number of tests per node 223 maxTests 1000000222 maxTests 500000 224 223 } 225 224 … … 251 250 splitUseOnlyDrivingAxis false 252 251 253 maxTests 500000 00252 maxTests 500000 254 253 } 255 254 … … 266 265 Construction { 267 266 268 samples 5000000267 samples 6000000 269 268 270 269 # type 0 = sequential computation, 1 = interleaved, 2 = gradient … … 282 281 minStepsOfSameType 100 283 282 #maxStepsOfSameType 3000 284 maxStepsOfSameType 1000285 286 maxRepairs 1000283 maxStepsOfSameType 900 284 285 maxRepairs 2000 287 286 } 288 287 … … 293 292 # maximal memory in MB 294 293 # maxMemory 4 295 maxMemory 3 0294 maxMemory 35 296 295 # minimum ratio of global cost decrease 297 296 minGlobalCostRatio -1 -
GTP/trunk/Lib/Vis/Preprocessing/scripts/gi_final.sh
r2232 r2255 13 13 SCENE_PATH=../data/vienna 14 14 15 #SCENE=arena-high-lods .obj15 #SCENE=arena-high-lods 16 16 #SCENE_PATH=../data/Arena 17 17 18 18 ENVIRONMENT=gi_final.env 19 19 20 LOG_PREFIX=../scripts/tests/gi/$SCENE 21 #LOG_PREFIX=../scripts/tests/gi/vienna_cropped3 20 LOG_PREFIX=../scripts/tests/gi/$SCENE-speed 22 21 23 22 echo "starting $TARGET mode for $SCENE scene ($PROGRAM)" … … 32 31 33 32 34 $PROGRAM $ENVIRONMENT \33 #$PROGRAM $ENVIRONMENT \ 35 34 -scene_filename=$SCENE_FILENAME \ 36 35 -view_cells_sampling_type=object_directional \ … … 42 41 -hierarchy_subdivision_stats=$LOG_PREFIX-$METHOD-hierarchy-subdivisionStats.log \ 43 42 -hierarchy_construction_type=2 \ 44 -hierarchy_construction_min_avg_rays_per_object= 1\45 -hierarchy_construction_max_avg_rays_per_object= 20 \43 -hierarchy_construction_min_avg_rays_per_object=0 \ 44 -hierarchy_construction_max_avg_rays_per_object=0 \ 46 45 -bvh_use_sah=false \ 47 46 -vsp_use_cost_heuristics=$USE_HEUR 48 47 49 sh movefiles.sh $LOG_PREFIX-$METHOD 50 51 48 #sh movefiles.sh $LOG_PREFIX-$METHOD 52 49 53 50 ####################################################### 54 51 55 NODES=50000 52 NODES=60000 53 #NODES=5000 56 54 USE_HEUR=true 57 55 #USE_HEUR=false … … 61 59 62 60 $PROGRAM $ENVIRONMENT \ 63 -scene_filename=$SCENE_FILENAME \61 -scene_filename=$SCENE_FILENAME \ 64 62 -view_cells_evaluation_stats_prefix=$LOG_PREFIX-$METHOD \ 65 63 -view_cells_merge_stats=$LOG_PREFIX-$METHOD-mergeStats.log \ … … 69 67 -hierarchy_subdivision_stats=$LOG_PREFIX-$METHOD-hierarchy-subdivisionStats.log \ 70 68 -hierarchy_construction_type=0 \ 69 -hierarchy_construction_consider_memory=false \ 71 70 -vsp_use_cost_heuristics=$USE_HEUR \ 72 71 -bvh_term_max_leaves=$NODES … … 85 84 86 85 $PROGRAM $ENVIRONMENT \ 87 -scene_filename=$SCENE_FILENAME \86 -scene_filename=$SCENE_FILENAME \ 88 87 -view_cells_evaluation_stats_prefix=$LOG_PREFIX-$METHOD \ 89 88 -view_cells_merge_stats=$LOG_PREFIX-$METHOD-mergeStats.log \ … … 93 92 -hierarchy_subdivision_stats=$LOG_PREFIX-$METHOD-hierarchy-subdivisionStats.log \ 94 93 -hierarchy_construction_type=0 \ 94 -hierarchy_construction_consider_memory=false \ 95 95 -vsp_use_cost_heuristics=$USE_HEUR \ 96 96 -bvh_term_max_leaves=$NODES 97 97 98 98 sh movefiles.sh $LOG_PREFIX-$METHOD 99 100 -
GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.cpp
r2239 r2255 53 53 /* class BvhNode implementation */ 54 54 /***************************************************************/ 55 55 56 56 57 BvhNode::BvhNode(): … … 705 706 706 707 const float oldVolume = EvalViewCellsVolume(*tData.mSampledObjects) / viewSpaceVol; 707 const float oldRatio = (tData.mVolume ) > 0? oldVolume / tData.mVolume : 1;708 const float oldRatio = (tData.mVolume > 0) ? oldVolume / tData.mVolume : 1; 708 709 const float parentVol = tData.mCorrectedVolume * oldRatio; 709 710 … … 1826 1827 } 1827 1828 } 1828 }1829 1829 #endif 1830 } 1831 1830 1832 } 1831 1833 … … 3171 3173 float BvHierarchy::GetRenderCostIncrementially(BvhNode *node) const 3172 3174 { 3173 if (node->mRenderCost < 0) 3174 { 3175 //cout <<"p"; 3175 if (node->mRenderCost < 0) // render cost must be evaluated ... 3176 { 3176 3177 if (node->IsLeaf()) 3177 3178 { 3178 3179 BvhLeaf *leaf = static_cast<BvhLeaf *>(node); 3179 node->mRenderCost = EvalAbsCost(leaf->mObjects); 3180 node->mRenderCost = EvalAbsCost(leaf->mObjects); 3181 //if (leaf->mObjects.size() < 100) cout <<"p"; 3180 3182 } 3181 3183 else -
GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.h
r2233 r2255 1107 1107 #if USE_BETTER_RENDERCOST_EST 1108 1108 1109 const float switchcost = 1.0f; 1110 1111 float o = 0; 1112 1109 1113 ObjectContainer::const_iterator oit, oit_end = objects.end(); 1110 1114 1111 1115 for (oit = objects.begin(); oit != oit_end; ++ oit) 1112 1116 { 1113 result += ViewCellsManager::GetRendercost(*oit); 1114 } 1115 1117 o += ViewCellsManager::GetRendercost(*oit); 1118 } 1119 1120 float n = (float)objects.size() * switchcost; 1121 1116 1122 #else 1117 1123 … … 1121 1127 1122 1128 #if BOUND_RENDERCOST 1123 result = max(result, MIN_RENDERCOST); 1129 1130 if (result > MIN_RENDERCOST) 1131 return result; 1132 else 1133 { 1134 //std::cout << "b"; 1135 return MIN_RENDERCOST; 1136 } 1124 1137 #endif 1125 1138 -
GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.icproj
r2239 r2255 2 2 <VisualStudioProject 3 3 ProjectType="Intel C++ Project" 4 Version="9. 0"4 Version="9.1" 5 5 Name="Preprocessor" 6 6 ProjectGUID="{E240C450-69B9-4B01-A6FD-88F9466A3A88}" … … 221 221 IntermediateDirectory="..\obj\Release" 222 222 ConfigurationType="4" 223 CharacterSet="2"/> 223 CharacterSet="2" 224 WholeProgramOptimization="0"/> 224 225 <Tool 225 226 Name="DebugTool"/> … … 237 238 AdditionalIncludeDirectories="..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;..\..\..\..\..\..\NonGTP\Boost;..\MultiLevelRayTracing;"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui";"$(QTDIR)\include";"$(QTDIR)\include\QtOpenGl";"$(CG_INC_PATH)";Timer;..\src\sparsehash\src\google\sparsehash;..\src\sparsehash\src\windows;..\src\sparsehash\src\google;..\src\sparsehash\src;..\src\ootl\;..\src\ootl\src\;..\src\ootl\src\cpp;..\src\ootl\src\cpp\include\;..\src\ootl\src\include\ootl;..\src\ootl\src\include\ootl\sandbox;..\src\ootl\src\cpp\include\ootl\mswin" 238 239 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GTP_INTERNAL;USE_QT;USE_HASH_PV" 240 MinimalRebuild="1" 239 241 ExceptionHandling="1" 240 242 RuntimeLibrary="2" 241 EnableEnhancedInstructionSet=" 2"243 EnableEnhancedInstructionSet="0" 242 244 DisableLanguageExtensions="0" 243 245 ForceConformanceInForLoopScope="0" … … 247 249 WarningLevel="2" 248 250 Detect64BitPortabilityProblems="1" 249 DebugInformationFormat="3"/> 251 DebugInformationFormat="3" 252 UseProcExt="2" 253 RequireProcExt="2"/> 250 254 <Tool 251 255 Name="LinkerTool" … … 288 292 InlineFunctionExpansion="2" 289 293 EnableIntrinsicFunctions="1" 290 ImproveFloatingPointConsistency=" 1"294 ImproveFloatingPointConsistency="0" 291 295 FavorSizeOrSpeed="1" 292 296 OmitFramePointers="1" -
GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.vcproj
r2239 r2255 209 209 IntermediateDirectory="..\obj\Release" 210 210 ConfigurationType="4" 211 CharacterSet="2"> 211 CharacterSet="2" 212 WholeProgramOptimization="TRUE"> 212 213 <Tool 213 214 Name="VCCLCompilerTool" … … 219 220 OmitFramePointers="TRUE" 220 221 EnableFiberSafeOptimizations="TRUE" 222 WholeProgramOptimization="FALSE" 221 223 OptimizeForProcessor="3" 222 224 OptimizeForWindowsApplication="TRUE" 223 225 AdditionalIncludeDirectories="..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;..\..\..\..\..\..\NonGTP\Boost;..\MultiLevelRayTracing;"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui";"$(QTDIR)\include";"$(QTDIR)\include\QtOpenGl";"$(CG_INC_PATH)";Timer;..\src\sparsehash\src\google\sparsehash;..\src\sparsehash\src\windows;..\src\sparsehash\src\google;..\src\sparsehash\src;..\src\ootl\;..\src\ootl\src\;..\src\ootl\src\cpp;..\src\ootl\src\cpp\include\;..\src\ootl\src\include\ootl;..\src\ootl\src\include\ootl\sandbox;..\src\ootl\src\cpp\include\ootl\mswin" 224 226 PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GTP_INTERNAL;USE_QT;USE_HASH_PV" 227 StringPooling="TRUE" 228 MinimalRebuild="TRUE" 225 229 ExceptionHandling="TRUE" 226 230 RuntimeLibrary="2" 227 EnableEnhancedInstructionSet=" 2"231 EnableEnhancedInstructionSet="0" 228 232 DisableLanguageExtensions="FALSE" 229 233 ForceConformanceInForLoopScope="FALSE" -
GTP/trunk/Lib/Vis/Preprocessing/src/TestPreprocessor.icproj
r2232 r2255 2 2 <VisualStudioProject 3 3 ProjectType="Intel C++ Project" 4 Version="9. 0"4 Version="9.1" 5 5 Name="TestPreprocessor" 6 6 ProjectGUID="{2BF1B1A6-D665-472B-B1B1-E172512D66C1}" … … 186 186 <Tool 187 187 Name="GeneralTool" 188 OutputDirectory="bin\Release" 189 IntermediateDirectory="bin\Release" 190 ConfigurationType="1" 191 CharacterSet="2"/> 188 OutputDirectory="..\bin\Release" 189 IntermediateDirectory="..\obj\Release" 190 ConfigurationType="1" 191 CharacterSet="2" 192 WholeProgramOptimization="0"/> 192 193 <Tool 193 194 Name="DebugTool"/> … … 206 207 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;GTP_INTERNAL;USE_QT;USE_CG;USE_HASH_PV" 207 208 StringPooling="1" 209 MinimalRebuild="1" 208 210 ExceptionHandling="1" 209 211 RuntimeLibrary="2" 210 EnableEnhancedInstructionSet=" 2"212 EnableEnhancedInstructionSet="0" 211 213 RuntimeTypeInfo="0" 212 214 UsePrecompiledHeader="0" 213 215 WarningLevel="3" 214 216 Detect64BitPortabilityProblems="1" 215 DebugInformationFormat="3"/> 217 DebugInformationFormat="3" 218 UseProcExt="2" 219 RequireProcExt="2"/> 216 220 <Tool 217 221 Name="LinkerTool" 218 222 DelayImpLib="" 219 223 AdditionalDependencies="xerces-c_2.lib glew32.lib zdll.lib zziplib.lib devil.lib glut32.lib OpenGL32.Lib glu32.lib Preprocessor.lib RTScene.lib RTWorld.lib QtCore4.lib qtmain.lib cg.lib cgGL.lib QtOpenGL4.lib Qt3Support4.lib QtTest4.lib QtGui4.lib QtInterface.lib" 220 OutputFile="../bin/release/Preprocessor .exe"224 OutputFile="../bin/release/Preprocessor2.exe" 221 225 LinkIncremental="1" 222 226 AdditionalLibraryDirectories="..\src\GL;..\lib\release;..\..\Preprocessing\lib\release;..\..\..\..\..\..\NonGTP\Boost\lib;..\..\..\..\..\..\NonGTP\Xerces\xercesc\lib;..\..\..\..\..\..\NonGTP\Zlib\lib;..\..\..\..\..\..\NonGTP\Devil\lib;..\MultiLevelRayTracing\RTScene\Release;..\MultiLevelRayTracing\RTWorld\Release;"$(QTDIR)\lib";.\QtInterface\Release;"$(CG_LIB_PATH)"" … … 252 256 <Tool 253 257 Name="GeneralTool" 254 OutputDirectory=" Release"255 IntermediateDirectory=" Release"258 OutputDirectory="..\bin\Release" 259 IntermediateDirectory="..\obj\Release" 256 260 ConfigurationType="1" 257 261 CharacterSet="2" 258 WholeProgramOptimization=" 0"/>262 WholeProgramOptimization="1"/> 259 263 <Tool 260 264 Name="DebugTool"/> … … 318 322 <Tool 319 323 Name="GeneralTool" 320 OutputDirectory=" $(ConfigurationName)"321 IntermediateDirectory=" $(ConfigurationName)"324 OutputDirectory="..\bin\Release" 325 IntermediateDirectory="..\obj\Release" 322 326 ConfigurationType="1" 323 327 CharacterSet="2"/> -
GTP/trunk/Lib/Vis/Preprocessing/src/TestPreprocessor.vcproj
r2238 r2255 197 197 OmitFramePointers="TRUE" 198 198 EnableFiberSafeOptimizations="TRUE" 199 WholeProgramOptimization="FALSE" 199 200 OptimizeForProcessor="3" 200 201 OptimizeForWindowsApplication="TRUE" … … 202 203 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;GTP_INTERNAL;USE_QT;USE_CG;USE_HASH_PV" 203 204 StringPooling="TRUE" 205 MinimalRebuild="TRUE" 204 206 ExceptionHandling="TRUE" 205 207 RuntimeLibrary="2" 206 EnableEnhancedInstructionSet=" 2"208 EnableEnhancedInstructionSet="0" 207 209 RuntimeTypeInfo="FALSE" 208 210 UsePrecompiledHeader="0" … … 215 217 Name="VCLinkerTool" 216 218 AdditionalDependencies="xerces-c_2.lib glew32.lib zdll.lib zziplib.lib devil.lib glut32.lib OpenGL32.Lib glu32.lib Preprocessor.lib RTScene.lib RTWorld.lib QtCore4.lib qtmain.lib cg.lib cgGL.lib QtOpenGL4.lib Qt3Support4.lib QtTest4.lib QtGui4.lib QtInterface.lib" 217 OutputFile="../bin/release/Preprocessor 2.exe"219 OutputFile="../bin/release/Preprocessor.exe" 218 220 LinkIncremental="1" 219 221 AdditionalLibraryDirectories="..\src\GL;..\lib\release;..\..\Preprocessing\lib\release;..\..\..\..\..\..\NonGTP\Boost\lib;..\..\..\..\..\..\NonGTP\Xerces\xercesc\lib;..\..\..\..\..\..\NonGTP\Zlib\lib;..\..\..\..\..\..\NonGTP\Devil\lib;..\MultiLevelRayTracing\RTScene\Release;..\MultiLevelRayTracing\RTWorld\Release;"$(QTDIR)\lib";.\QtInterface\Release;"$(CG_LIB_PATH)"" -
GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp
r2239 r2255 167 167 168 168 // mix of sampling strategies 169 if ( 0)170 { 171 //mStrategies.push_back(SamplingStrategy::SPATIAL_BOX_BASED_DISTRIBUTION);172 mStrategies.push_back(SamplingStrategy::OBJECT_DIRECTION_BASED_DISTRIBUTION);169 if (1) 170 { 171 mStrategies.push_back(SamplingStrategy::SPATIAL_BOX_BASED_DISTRIBUTION); 172 //mStrategies.push_back(SamplingStrategy::OBJECT_DIRECTION_BASED_DISTRIBUTION); 173 173 } 174 174 else … … 2815 2815 2816 2816 // check if last ray was not same ray with reverse direction 2817 if (!lastVssRay || 2818 !(ray.mOrigin == lastVssRay->mTermination) || 2819 !(ray.mTermination == lastVssRay->mOrigin)) 2817 if (1) 2818 // tmp matt: don't use that before origin objects are accounted for, currently the second ray is lost!! 2819 //!lastVssRay || 2820 //!(ray.mOrigin == lastVssRay->mTermination) || 2821 //!(ray.mTermination == lastVssRay->mOrigin)) 2820 2822 { 2821 2823 viewCells.clear(); … … 2823 2825 // traverse the view space subdivision 2824 2826 CastLineSegment(origin, termination, viewCells); 2825 lastVssRay = &ray; 2827 2828 lastVssRay = &ray; 2826 2829 } 2827 2830
Note: See TracChangeset
for help on using the changeset viewer.