Changeset 346 for trunk/VUT/GtpVisibility/src
- Timestamp:
- 10/21/05 20:28:11 (19 years ago)
- Location:
- trunk/VUT/GtpVisibility/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibility/src/CoherentHierarchicalCullingManager.cpp
r345 r346 25 25 unsigned int visiblePixels = 0; 26 26 bool isAvailable = false; 27 Ogre::LogManager::getSingleton().logMessage("Coherent Hierarchical Culling\n");27 //Ogre::LogManager::getSingleton().logMessage("Coherent Hierarchical Culling"); 28 28 29 29 //-- PART 1: process finished occlusion queries … … 37 37 38 38 queryQueue.pop(); 39 40 std::stringstream d2; d2 << "fetch node from query queue " << node;41 Ogre::LogManager::getSingleton().logMessage(d2.str());42 39 43 40 if (visiblePixels > mVisibilityThreshold) … … 63 60 mHierarchyInterface->GetQueue()->pop(); 64 61 65 std::stringstream d2; d2 << "fetch node from hierarchy queue " << node;66 Ogre::LogManager::getSingleton().logMessage(d2.str());67 68 62 bool intersects = false; 69 63 … … 87 81 bool wasVisible = mHierarchyInterface->IsNodeVisible(node) && 88 82 (mHierarchyInterface->LastVisited(node) == mHierarchyInterface->GetFrameId() - 1); 89 if (mHierarchyInterface->LastVisited(node) == mHierarchyInterface->GetFrameId()) 90 { 91 std::stringstream d2; d2 << "!!!!lastVisited: " << mHierarchyInterface->LastVisited(node) << " " << node; 92 Ogre::LogManager::getSingleton().logMessage(d2.str()); 93 std::stringstream d; d << "!!!!!frameid: " << mHierarchyInterface->GetFrameId() << " " << node << "\n"; 94 Ogre::LogManager::getSingleton().logMessage(d.str()); 95 } 83 96 84 // if we assume node to be visible in this frame => skip query 97 85 // TODO: check this (not the expected speed up) … … 105 93 // identify nodes that we cannot skip queries for 106 94 // geometry not only in leaves => test for renderable geometry 95 // we also need to test if node was processed in current frame, otherwise 96 // node is tested several times because of priority queue 107 97 bool issueQuery = (mHierarchyInterface->LastVisited(node) != mHierarchyInterface->GetFrameId()) 108 98 && (!wasVisible || mHierarchyInterface->HasGeometry(node)); … … 113 103 // update node's visited flag 114 104 mHierarchyInterface->SetLastVisited(node, mHierarchyInterface->GetFrameId()); 115 116 std::stringstream d2; d2 << "lastVisited: " << mHierarchyInterface->LastVisited(node) << " " << node;117 Ogre::LogManager::getSingleton().logMessage(d2.str());118 105 119 106 // skip testing previously visible nodes without geometry … … 129 116 if (wasVisible) 130 117 { 131 std::stringstream d2; d2 << "traversing node " << node;132 Ogre::LogManager::getSingleton().logMessage(d2.str());133 118 mHierarchyInterface->TraverseNode(node); 134 119 } … … 162 147 { 163 148 // -- set node to be visible in this frame, then traverse it 164 std::stringstream d2; d2 << "skipping node " << node;165 Ogre::LogManager::getSingleton().logMessage(d2.str());166 149 mHierarchyInterface->SetLastVisited(node, mHierarchyInterface->GetFrameId()); 167 150 168 mHierarchyInterface->SetNodeVisible(node, true);169 151 mHierarchyInterface->PullUpVisibility(node); 170 152 mHierarchyInterface->TraverseNode(node); -
trunk/VUT/GtpVisibility/src/StopAndWaitCullingManager.cpp
r345 r346 19 19 bool intersects = false; 20 20 21 //if (mHierarchyInterface->HasGeometry(node) && (!mHierarchyInterface->IsLeaf(node))) ++ mNumFrustumCulledNodes;22 // Ogre::LogManager::getSingleton().logMessage("no geometry");23 //else if (!mHierarchyInterface->IsLeaf(node)) ++ mNumQueriesIssued;// Ogre::LogManager::getSingleton().logMessage("has geometry");24 /*if (!mHierarchyInterface->HasGeometry(node))25 Ogre::LogManager::getSingleton().logMessage("no geometry");26 else Ogre::LogManager::getSingleton().logMessage("has geometry");*/27 21 if (!mHierarchyInterface->CheckFrustumVisible(node, intersects)) 28 22 {
Note: See TracChangeset
for help on using the changeset viewer.