- Timestamp:
- 09/04/06 08:56:26 (18 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreBvHierarchySceneManager.cpp
r1319 r1320 27 27 { 28 28 29 KdTreeSceneManager::KdTreeSceneManager(const String& name, GtpVisibility::VisibilityManager *vm):29 BvHierarchySceneManager::BvHierarchySceneManager(const String& name, GtpVisibility::VisibilityManager *vm): 30 30 SceneManager(name), 31 31 mVisibilityManager(vm), 32 32 mBvHierarchy(0), 33 mMaxDepth( KDTREE_MAX_DEPTH),33 mMaxDepth(BvHierarchy_MAX_DEPTH), 34 34 mShowBoxes(false), 35 35 mHiLiteLevel(0), 36 36 mShowAllBoxes(false), 37 37 mEnhancedVisiblity(true), 38 mBuildMethod( KdTree::KDBM_RECURSIVE),39 mRenderMethod( KdTree::KDRM_INTERNAL),38 mBuildMethod(BvHierarchy::BVHBM_RECURSIVE), 39 mRenderMethod(BvHierarchy::BVHRM_INTERNAL), 40 40 mShowVisualization(false), 41 41 mRenderNodesForViz(false), … … 64 64 // Replace root node with my node 65 65 OGRE_DELETE(mSceneRoot); 66 mSceneRoot = new KdTreeSceneNode(this, "root node");66 mSceneRoot = new BvHierarchySceneNode(this, "root node"); 67 67 mSceneRoot->_notifyRootNode(); 68 68 69 69 // init heirarchy interface 70 mHierarchyInterface = new KdTreeHierarchyInterface(this, mDestRenderSystem);71 } 72 73 KdTreeSceneManager::~KdTreeSceneManager(void)70 mHierarchyInterface = new BvHierarchyInterface(this, mDestRenderSystem); 71 } 72 73 BvHierarchySceneManager::~BvHierarchySceneManager(void) 74 74 { 75 75 delete mHierarchyInterface; … … 77 77 } 78 78 79 void KdTreeSceneManager::clearScene()79 void BvHierarchySceneManager::clearScene() 80 80 { 81 81 // DEBUG … … 90 90 91 91 92 const String& KdTreeSceneManager::getTypeName(void) const92 const String& BvHierarchySceneManager::getTypeName(void) const 93 93 { 94 94 return BvHierarchySceneManagerFactory::FACTORY_TYPE_NAME; 95 95 } 96 96 97 void KdTreeSceneManager::setShowBoxes(bool showboxes)97 void BvHierarchySceneManager::setShowBoxes(bool showboxes) 98 98 { 99 99 mShowBoxes = showboxes; 100 100 } 101 101 102 bool KdTreeSceneManager::getShowBoxes(void) const102 bool BvHierarchySceneManager::getShowBoxes(void) const 103 103 { 104 104 return mShowBoxes; 105 105 } 106 106 107 bool KdTreeSceneManager::setOption(const String& strKey, const void* pValue)108 { 109 // change max depth of the kdtree107 bool BvHierarchySceneManager::setOption(const String& strKey, const void* pValue) 108 { 109 // change max depth of the BvHierarchy 110 110 // rebuild the tree if already exists 111 if (strKey == " KdTreeMaxDepth")111 if (strKey == "BvHierarchyMaxDepth") 112 112 { 113 113 int maxdepth = *static_cast<const int *>(pValue); … … 132 132 if (kt > 0) 133 133 { 134 PlaneEvent::KT = kt;134 BvhPlaneEvent::KT = kt; 135 135 return true; 136 136 } … … 145 145 if (ki > 0) 146 146 { 147 PlaneEvent::KI = ki;147 BvhPlaneEvent::KI = ki; 148 148 return true; 149 149 } … … 153 153 } 154 154 } 155 else if (strKey == "Rebuild KdTree")155 else if (strKey == "RebuildBvHierarchy") 156 156 { 157 157 OGRE_DELETE(mBvHierarchy); 158 mBvHierarchy = new KdTree(mMaxDepth, mBuildMethod, mHiLiteLevel, mShowAllBoxes, mShowNodes);159 mBvHierarchy->build(static_cast< KdTreeSceneNode *>(mSceneRoot));158 mBvHierarchy = new BvHierarchy(mMaxDepth, mBuildMethod, mHiLiteLevel, mShowAllBoxes, mShowNodes); 159 mBvHierarchy->build(static_cast<BvHierarchySceneNode *>(mSceneRoot)); 160 160 mBvHierarchy->setEnhancedVis(mEnhancedVisiblity); 161 161 return true; … … 172 172 else if (strKey == "BuildMethod") 173 173 { 174 KdTree::BuildMethod bm = *static_cast<const KdTree::BuildMethod *>(pValue);175 if (bm == KdTree::KDBM_RECURSIVE || bm == KdTree::KDBM_PRIORITYQUEUE)174 BvHierarchy::BuildMethod bm = *static_cast<const BvHierarchy::BuildMethod *>(pValue); 175 if (bm == BvHierarchy::BVHBM_RECURSIVE || bm == BvHierarchy::BVHBM_PRIORITYQUEUE) 176 176 { 177 177 mBuildMethod = bm; … … 185 185 else if (strKey == "RenderMethod") 186 186 { 187 KdTree::RenderMethod rm = *static_cast<const KdTree::RenderMethod *>(pValue);188 if (rm == KdTree::KDRM_INTERNAL)187 BvHierarchy::RenderMethod rm = *static_cast<const BvHierarchy::RenderMethod *>(pValue); 188 if (rm == BvHierarchy::BVHRM_INTERNAL) 189 189 { 190 190 mRenderMethod = rm; 191 191 return true; 192 192 } 193 else if (rm == KdTree::KDRM_GTP_VFC)193 else if (rm == BvHierarchy::BVHRM_GTP_VFC) 194 194 { 195 195 mRenderMethod = rm; … … 198 198 .setOption("Algorithm", &cmt); 199 199 } 200 else if (rm == KdTree::KDRM_GTP_SWC)200 else if (rm == BvHierarchy::BVHRM_GTP_SWC) 201 201 { 202 202 mRenderMethod = rm; … … 205 205 .setOption("Algorithm", &cmt); 206 206 } 207 else if (rm == KdTree::KDRM_GTP_CHC)207 else if (rm == BvHierarchy::BVHRM_GTP_CHC) 208 208 { 209 209 mRenderMethod = rm; … … 227 227 int val = *static_cast<const int *>(pValue); 228 228 if (val == GtpVisibility::VisibilityEnvironment::FRUSTUM_CULLING) 229 mRenderMethod = KdTree::KDRM_GTP_VFC;229 mRenderMethod = BvHierarchy::BVHRM_GTP_VFC; 230 230 else if (val == GtpVisibility::VisibilityEnvironment::STOP_AND_WAIT_CULLING) 231 mRenderMethod = KdTree::KDRM_GTP_SWC;231 mRenderMethod = BvHierarchy::BVHRM_GTP_SWC; 232 232 else if (val == GtpVisibility::VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING) 233 mRenderMethod = KdTree::KDRM_GTP_CHC;233 mRenderMethod = BvHierarchy::BVHRM_GTP_CHC; 234 234 // default, should never happen 235 235 else 236 mRenderMethod = KdTree::KDRM_INTERNAL;236 mRenderMethod = BvHierarchy::BVHRM_INTERNAL; 237 237 } 238 238 else 239 239 { 240 mRenderMethod = KdTree::KDRM_INTERNAL;240 mRenderMethod = BvHierarchy::BVHRM_INTERNAL; 241 241 } 242 242 return success; 243 243 } 244 else if (strKey == "Show KdTree")244 else if (strKey == "ShowBvHierarchy") 245 245 { 246 246 bool sk = *static_cast<const bool *>(pValue); … … 406 406 } 407 407 408 bool KdTreeSceneManager::getOption(const String& strKey, void* pDestValue)409 { 410 if (strKey == " KdTreeMaxDepth")408 bool BvHierarchySceneManager::getOption(const String& strKey, void* pDestValue) 409 { 410 if (strKey == "BvHierarchyMaxDepth") 411 411 { 412 412 *static_cast<int *>(pDestValue) = mMaxDepth; … … 415 415 else if (strKey == "KT") 416 416 { 417 *static_cast<Real *>(pDestValue) = PlaneEvent::KT;417 *static_cast<Real *>(pDestValue) = BvhPlaneEvent::KT; 418 418 return true; 419 419 } 420 420 else if (strKey == "KI") 421 421 { 422 *static_cast<Real *>(pDestValue) = PlaneEvent::KI;422 *static_cast<Real *>(pDestValue) = BvhPlaneEvent::KI; 423 423 return true; 424 424 } … … 433 433 else if (strKey == "BuildMethod") 434 434 { 435 *static_cast< KdTree::BuildMethod *>(pDestValue) = mBuildMethod;435 *static_cast<BvHierarchy::BuildMethod *>(pDestValue) = mBuildMethod; 436 436 return true; 437 437 } 438 438 else if (strKey == "RenderMethod") 439 439 { 440 *static_cast< KdTree::RenderMethod *>(pDestValue) = mRenderMethod;441 return true; 442 } 443 else if (strKey == "Show KdTree")440 *static_cast<BvHierarchy::RenderMethod *>(pDestValue) = mRenderMethod; 441 return true; 442 } 443 else if (strKey == "ShowBvHierarchy") 444 444 { 445 445 *static_cast<bool *>(pDestValue) = mShowBoxes; … … 464 464 else if (strKey == "NumFrustumCulledNodes") 465 465 { 466 if (mRenderMethod == KdTree::KDRM_INTERNAL)466 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 467 467 { 468 468 unsigned int numnodes = 0; … … 477 477 else if (strKey == "NumQueryCulledNodes") 478 478 { 479 if (mRenderMethod == KdTree::KDRM_INTERNAL)479 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 480 480 { 481 481 * static_cast<unsigned int *>(pDestValue) = 0; … … 495 495 else if (strKey == "NumRenderedNodes") 496 496 { 497 if (mRenderMethod == KdTree::KDRM_INTERNAL)497 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 498 498 { 499 499 unsigned int numnodes = 0; … … 508 508 else if (strKey == "NumQueriesIssued") 509 509 { 510 if (mRenderMethod == KdTree::KDRM_INTERNAL)510 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 511 511 { 512 512 * static_cast<unsigned int *>(pDestValue) = 0; … … 517 517 else if (strKey == "NumTraversedNodes") 518 518 { 519 if (mRenderMethod == KdTree::KDRM_INTERNAL)519 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 520 520 { 521 521 unsigned int numnodes = 0; … … 557 557 } 558 558 559 bool KdTreeSceneManager::getOptionKeys(StringVector &refKeys)559 bool BvHierarchySceneManager::getOptionKeys(StringVector &refKeys) 560 560 { 561 561 refKeys.push_back("Algorithm"); … … 570 570 refKeys.push_back("KI"); 571 571 refKeys.push_back("KT"); 572 refKeys.push_back(" KdTreeMaxDepth");572 refKeys.push_back("BvHierarchyMaxDepth"); 573 573 refKeys.push_back("LoadViewCells"); 574 574 refKeys.push_back("NumHierarchyNodes"); 575 575 refKeys.push_back("PrepareVisualization"); 576 refKeys.push_back("Rebuild KdTree");576 refKeys.push_back("RebuildBvHierarchy"); 577 577 refKeys.push_back("RenderMethod"); 578 578 refKeys.push_back("RenderNodesContentForViz"); … … 580 580 refKeys.push_back("RenderTransparentsForItemBuffer"); 581 581 refKeys.push_back("ShowAllBoxes"); 582 refKeys.push_back("Show KdTree");582 refKeys.push_back("ShowBvHierarchy"); 583 583 refKeys.push_back("ShowNodes"); 584 584 refKeys.push_back("SkyBoxEnabled"); … … 595 595 } 596 596 597 bool KdTreeSceneManager::getOptionValues(const String & key, StringVector &refValueList)597 bool BvHierarchySceneManager::getOptionValues(const String & key, StringVector &refValueList) 598 598 { 599 599 return SceneManager::getOptionValues(key, refValueList); 600 600 } 601 601 602 void KdTreeSceneManager::setVisibilityManager(GtpVisibility::VisibilityManager *visManager)602 void BvHierarchySceneManager::setVisibilityManager(GtpVisibility::VisibilityManager *visManager) 603 603 { 604 604 mVisibilityManager = visManager; 605 605 } 606 606 607 GtpVisibility::VisibilityManager * KdTreeSceneManager::getVisibilityManager()607 GtpVisibility::VisibilityManager * BvHierarchySceneManager::getVisibilityManager() 608 608 { 609 609 return mVisibilityManager; 610 610 } 611 611 612 GtpVisibility::VisibilityManager * KdTreeSceneManager::GetVisibilityManager()612 GtpVisibility::VisibilityManager * BvHierarchySceneManager::GetVisibilityManager() 613 613 { 614 614 return mVisibilityManager; 615 615 } 616 616 617 KdTreeHierarchyInterface * KdTreeSceneManager::GetHierarchyInterface()617 BvHierarchyInterface * BvHierarchySceneManager::GetHierarchyInterface() 618 618 { 619 619 return mHierarchyInterface; 620 620 } 621 621 622 Camera* KdTreeSceneManager::createCamera(const String& name)622 Camera* BvHierarchySceneManager::createCamera(const String& name) 623 623 { 624 624 // Check name not used … … 637 637 } 638 638 639 SceneNode* KdTreeSceneManager::createSceneNode(void)640 { 641 SceneNode* sn = new KdTreeSceneNode(this);639 SceneNode* BvHierarchySceneManager::createSceneNode(void) 640 { 641 SceneNode* sn = new BvHierarchySceneNode(this); 642 642 assert(mSceneNodes.find(sn->getName()) == mSceneNodes.end()); 643 643 mSceneNodes[sn->getName()] = sn; … … 645 645 } 646 646 647 SceneNode* KdTreeSceneManager::createSceneNode(const String& name)647 SceneNode* BvHierarchySceneManager::createSceneNode(const String& name) 648 648 { 649 649 // Check name not used … … 653 653 Exception::ERR_DUPLICATE_ITEM, 654 654 "A scene node with the name " + name + " already exists", 655 " KdTreeSceneManager::createSceneNode" );656 } 657 658 SceneNode* sn = new KdTreeSceneNode(this, name);655 "BvHierarchySceneManager::createSceneNode" ); 656 } 657 658 SceneNode* sn = new BvHierarchySceneNode(this, name); 659 659 mSceneNodes[sn->getName()] = sn; 660 660 return sn; 661 661 } 662 662 663 Entity * KdTreeSceneManager::createEntity(const String& entityName, const String& meshName)663 Entity * BvHierarchySceneManager::createEntity(const String& entityName, const String& meshName) 664 664 { 665 665 Entity *ent = SceneManager::createEntity(entityName, meshName); … … 677 677 678 678 // make sure it's called only for non-empty nodes .. avoids one uneccessary funciton call 679 void KdTreeSceneManager::_updateNode(KdTreeSceneNode *node)679 void BvHierarchySceneManager::_updateNode(BvHierarchySceneNode *node) 680 680 { 681 681 //LogManager::getSingleton().logMessage("### _updateNode called for " + node->getName()); 682 682 683 /* Rebuild kdtreewhen it was wiped out683 /* Rebuild BvHierarchy when it was wiped out 684 684 * Usually this happens only before the first frame 685 685 * The initial AABB shall enclose all objects present … … 691 691 if (!mBvHierarchy) 692 692 { 693 mBvHierarchy = new KdTree(mMaxDepth, mBuildMethod);694 mBvHierarchy->build(static_cast< KdTreeSceneNode *>(mSceneRoot));693 mBvHierarchy = new BvHierarchy(mMaxDepth, mBuildMethod); 694 mBvHierarchy->build(static_cast<BvHierarchySceneNode *>(mSceneRoot)); 695 695 mBvHierarchy->setEnhancedVis(mEnhancedVisiblity); 696 696 } … … 713 713 714 714 //delete mBvHierarchy; 715 //mBvHierarchy = new KdTree(mMaxDepth);716 //mBvHierarchy->build(static_cast< KdTreeSceneNode *>(mSceneRoot));717 } 718 719 } 720 721 void KdTreeSceneManager::_updateSceneGraph(Camera* cam)715 //mBvHierarchy = new BvHierarchy(mMaxDepth); 716 //mBvHierarchy->build(static_cast<BvHierarchySceneNode *>(mSceneRoot)); 717 } 718 719 } 720 721 void BvHierarchySceneManager::_updateSceneGraph(Camera* cam) 722 722 { 723 723 mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface); … … 727 727 } 728 728 729 void KdTreeSceneManager::_findVisibleObjects(Camera *cam, bool onlyShadowCasters)730 { 731 if (mRenderMethod == KdTree::KDRM_INTERNAL)729 void BvHierarchySceneManager::_findVisibleObjects(Camera *cam, bool onlyShadowCasters) 730 { 731 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 732 732 { 733 733 getRenderQueue()->clear(); … … 742 742 { 743 743 // determine visibility 744 mBvHierarchy->queueVisibleObjects( KDCAMPTR_CAST(cam), getRenderQueue(), onlyShadowCasters, mShowBoxes, mVisibleNodes);744 mBvHierarchy->queueVisibleObjects(BVHCAMPTR_CAST(cam), getRenderQueue(), onlyShadowCasters, mShowBoxes, mVisibleNodes); 745 745 // apply view cell pvs 746 746 updatePvs(cam); … … 767 767 getRenderQueue()->clear(); 768 768 if (mBvHierarchy) 769 mBvHierarchy->queueVisibleObjects( KDCAMPTR_CAST(cam), getRenderQueue(), onlyShadowCasters, mShowBoxes, mVisibleNodes);769 mBvHierarchy->queueVisibleObjects(BVHCAMPTR_CAST(cam), getRenderQueue(), onlyShadowCasters, mShowBoxes, mVisibleNodes); 770 770 } 771 771 … … 781 781 } 782 782 783 void KdTreeSceneManager::_renderVisibleObjects()784 { 785 if (mRenderMethod == KdTree::KDRM_INTERNAL)783 void BvHierarchySceneManager::_renderVisibleObjects() 784 { 785 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 786 786 { 787 787 SceneManager::_renderVisibleObjects(); … … 884 884 if (mUseDepthPass) 885 885 { 886 KdTree::NodeList::const_iterator it, end = mVisibleNodes.end();886 BvHierarchy::NodeList::const_iterator it, end = mVisibleNodes.end(); 887 887 for (it = mVisibleNodes.begin(); it != end; it++) 888 888 { … … 917 917 918 918 919 void KdTreeSceneManager::_renderNode(KdTree::NodePtr node, Camera * cam,919 void BvHierarchySceneManager::_renderNode(BvHierarchy::NodePtr node, Camera * cam, 920 920 bool onlyShadowCasters, int leavePassesInQueue) 921 921 { … … 932 932 933 933 //----------------------------------------------------------------------- 934 const Pass * KdTreeSceneManager::_setPass(const Pass* pass, bool evenIfSuppressed)935 { 936 if (mRenderMethod == KdTree::KDRM_INTERNAL)934 const Pass *BvHierarchySceneManager::_setPass(const Pass* pass, bool evenIfSuppressed) 935 { 936 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 937 937 { 938 938 return SceneManager::_setPass(pass); … … 1007 1007 } 1008 1008 //----------------------------------------------------------------------- 1009 void KdTreeSceneManager::renderBasicQueueGroupObjects(RenderQueueGroup* pGroup,1009 void BvHierarchySceneManager::renderBasicQueueGroupObjects(RenderQueueGroup* pGroup, 1010 1010 QueuedRenderableCollection::OrganisationMode om) 1011 1011 { … … 1028 1028 1029 1029 // Do transparents (always descending) 1030 if (mRenderMethod == KdTree::KDRM_INTERNAL || !mSkipTransparents)1030 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL || !mSkipTransparents) 1031 1031 { 1032 1032 renderObjects(pPriorityGrp->getTransparents(), … … 1038 1038 } 1039 1039 //----------------------------------------------------------------------- 1040 bool KdTreeSceneManager::validatePassForRendering(Pass* pass)1041 { 1042 if (mRenderMethod == KdTree::KDRM_INTERNAL)1040 bool BvHierarchySceneManager::validatePassForRendering(Pass* pass) 1041 { 1042 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 1043 1043 { 1044 1044 return SceneManager::validatePassForRendering(pass); … … 1059 1059 } 1060 1060 //----------------------------------------------------------------------- 1061 void KdTreeSceneManager::_renderQueueGroupObjects(RenderQueueGroup* pGroup,1061 void BvHierarchySceneManager::_renderQueueGroupObjects(RenderQueueGroup* pGroup, 1062 1062 QueuedRenderableCollection::OrganisationMode om) 1063 1063 { 1064 if (mRenderMethod == KdTree::KDRM_INTERNAL || !mIsItemBufferPhase)1064 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL || !mIsItemBufferPhase) 1065 1065 { 1066 1066 SceneManager::_renderQueueGroupObjects(pGroup, om); … … 1081 1081 } 1082 1082 //----------------------------------------------------------------------- 1083 void KdTreeSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(1083 void BvHierarchySceneManager::renderAdditiveStencilShadowedQueueGroupObjects( 1084 1084 RenderQueueGroup* pGroup, QueuedRenderableCollection::OrganisationMode om) 1085 1085 { … … 1115 1115 } 1116 1116 //----------------------------------------------------------------------- 1117 void KdTreeSceneManager::renderModulativeStencilShadowedQueueGroupObjects(1117 void BvHierarchySceneManager::renderModulativeStencilShadowedQueueGroupObjects( 1118 1118 RenderQueueGroup* pGroup, QueuedRenderableCollection::OrganisationMode om) 1119 1119 { … … 1140 1140 } 1141 1141 //----------------------------------------------------------------------- 1142 void KdTreeSceneManager::InitDepthPass()1142 void BvHierarchySceneManager::InitDepthPass() 1143 1143 { 1144 1144 MaterialPtr depthMat = MaterialManager::getSingleton().getByName("Visibility/DepthPass"); … … 1161 1161 } 1162 1162 //----------------------------------------------------------------------- 1163 void KdTreeSceneManager::InitItemBufferPass()1163 void BvHierarchySceneManager::InitItemBufferPass() 1164 1164 { 1165 1165 MaterialPtr itemBufferMat = MaterialManager::getSingleton(). … … 1185 1185 } 1186 1186 //----------------------------------------------------------------------- 1187 void KdTreeSceneManager::PrepareVisualization(Camera *cam)1187 void BvHierarchySceneManager::PrepareVisualization(Camera *cam) 1188 1188 { 1189 1189 // add player camera for visualization purpose … … 1206 1206 unsigned long frameid = 0; 1207 1207 1208 if (mRenderMethod == KdTree::KDRM_INTERNAL)1208 if (mRenderMethod == BvHierarchy::BVHRM_INTERNAL) 1209 1209 frameid = Root::getSingleton().getCurrentFrameNumber(); 1210 1210 else 1211 1211 frameid = mHierarchyInterface->GetFrameId(); 1212 1212 1213 for ( KdTree::NodeList::iterator it = mVisibleNodes.begin(); it != mVisibleNodes.end(); ++it)1213 for (BvHierarchy::NodeList::iterator it = mVisibleNodes.begin(); it != mVisibleNodes.end(); ++it) 1214 1214 { 1215 1215 if (mRenderNodesForViz && (*it)->isLeaf()) 1216 1216 { 1217 1217 WireBoundingBox * wirebox = (*it)->getWireBoundingBox(); 1218 wirebox->setMaterial(" KdTree/BoxViz");1218 wirebox->setMaterial("BvHierarchy/BoxViz"); 1219 1219 getRenderQueue()->addRenderable(wirebox); 1220 1220 } … … 1228 1228 } 1229 1229 //----------------------------------------------------------------------- 1230 void KdTreeSceneManager::InitVisibilityCulling(Camera *cam)1230 void BvHierarchySceneManager::InitVisibilityCulling(Camera *cam) 1231 1231 { 1232 1232 // reset culling manager stats … … 1300 1300 1301 1301 //------------------------------------------------------------------------- 1302 void KdTreeSceneManager::SetObjectsVisible(const bool visible)1302 void BvHierarchySceneManager::SetObjectsVisible(const bool visible) 1303 1303 { 1304 1304 GtpVisibilityPreprocessor::ObjectContainer::iterator it, it_end = mObjects.end(); … … 1313 1313 } 1314 1314 //----------------------------------------------------------------------- 1315 bool KdTreeSceneManager::LoadViewCells(const String &filename)1315 bool BvHierarchySceneManager::LoadViewCells(const String &filename) 1316 1316 { 1317 1317 // objects are set to invisible initially 1318 1318 SetObjectsVisible(false); 1319 1319 1320 const string bboxesFilename = mVisibilityManager->GetVisibilityEnvironment()->getViewCellsFileName(); 1320 const string bboxesFilename = 1321 mVisibilityManager->GetVisibilityEnvironment()->getViewCellsFileName(); 1321 1322 1322 1323 // converter between view cell ids and Ogre entites 1323 1324 GtpVisibilityPreprocessor::IndexedBoundingBoxContainer iboxes; 1325 #if 0 1324 1326 OgreBoundingBoxConverter bconverter(this); 1325 1327 … … 1329 1331 1330 1332 return (mViewCellsManager != NULL); 1333 #endif 1331 1334 } 1332 1335 //------------------------------------------------------------------------- 1333 void KdTreeSceneManager::applyViewCellPvs(GtpVisibilityPreprocessor::ViewCell *vc,1336 void BvHierarchySceneManager::applyViewCellPvs(GtpVisibilityPreprocessor::ViewCell *vc, 1334 1337 const bool load) 1335 1338 { // NOTE: should not happen, rather apply view cell representing unbounded space then … … 1356 1359 } 1357 1360 //------------------------------------------------------------------------- 1358 void KdTreeSceneManager::updatePvs(Camera *cam)1361 void BvHierarchySceneManager::updatePvs(Camera *cam) 1359 1362 { 1360 1363 if (!(mViewCellsLoaded && mUseViewCells)) … … 1406 1409 1407 1410 //----------------------------------------------------------------------- 1408 void KdTreeSceneManager::WriteLog()1411 void BvHierarchySceneManager::WriteLog() 1409 1412 { 1410 1413 std::stringstream d; … … 1427 1430 1428 1431 /************************************************************************/ 1429 /* Factory for KdTreeSceneManager */1432 /* Factory for BvHierarchySceneManager */ 1430 1433 /************************************************************************/ 1431 1434 //----------------------------------------------------------------------- 1432 1435 //----------------------------------------------------------------------- 1433 const String BvHierarchySceneManagerFactory::FACTORY_TYPE_NAME = " KdTreeSceneManager";1436 const String BvHierarchySceneManagerFactory::FACTORY_TYPE_NAME = "BvHierarchySceneManager"; 1434 1437 //----------------------------------------------------------------------- 1435 1438 void BvHierarchySceneManagerFactory::initMetaData(void) const … … 1444 1447 const String& instanceName) 1445 1448 { 1446 return new KdTreeSceneManager(instanceName, visManager);1449 return new BvHierarchySceneManager(instanceName, visManager); 1447 1450 } 1448 1451 //-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.