#ifndef _CoherentHierarchicalCullingManager_H__ #define _CoherentHierarchicalCullingManager_H__ #include "CullingManager.h" #include "HierarchyInterface.h" namespace GtpVisibility { /** Renders the scene with the coherent hierarchical culling algorithm. */ class CoherentHierarchicalCullingManager : public CullingManager { public: CoherentHierarchicalCullingManager(); void RenderScene(); /** Sets assumed visibility which is a decition variable wether an occlusion query should be issued or not. @param assumedVisibility indicates that same visibility should be assumed for approximately assumedVisibility frames. if 0, no assumedVisibility will be tested. */ void SetAssumedVisibility(int assumedVisibility); protected: /** Decides wether occlusion query should be issued depending on some assumed visibility factor. @returns if occlusion query should be issued */ bool DecideQueryTest(HierarchyNode *node) const; int mAssumedVisibility; }; } // namespace GtpVisibility #endif // CoherentHierarchicalCullingManager_H