#include "FrustumCullingManager.h" #include namespace GtpVisibility { //----------------------------------------------------------------------- void FrustumCullingManager::RenderScene() { mNumFrustumCulledNodes = mNumQueryCulledNodes = 0; //OutputDebugString("Frustum Culling\n"); while (!mHierarchyInterface->GetQueue()->empty()) { HierarchyNode *node = mHierarchyInterface->GetQueue()->top(); mHierarchyInterface->GetQueue()->pop(); // interesting for visualization purpose mHierarchyInterface->SetNodeVisible(node, false); mHierarchyInterface->SetLastVisited(node, mHierarchyInterface->GetFrameId()); if (!mHierarchyInterface->CheckFrustumVisible(node)) { mNumFrustumCulledNodes ++; } else { mHierarchyInterface->SetNodeVisible(node, true); mHierarchyInterface->TraverseNode(node); } } } } // namespace GtpVisibility