#ifndef _OcclusionQuery_H__ #define _OcclusionQuery_H__ namespace GtpVisibility { /** This class is an abstract interface for occlusion queries. */ class OcclusionQuery { public: // OcclusionQuery(); virtual ~OcclusionQuery() {}; /** Returns the result of an occlusion query in terms of visible pixels. @returns number of visible pixels */ virtual unsigned int GetQueryResult() const = 0; /** Returns true if the result of the query is available, false otherwise. @returns if result is available */ virtual bool ResultAvailable() const = 0; /** Begins occlusion query. @remark the query counts the number of visible pixels between it's begin and end */ virtual void BeginQuery() const = 0; /** Ends occlusion query. */ virtual void EndQuery() const = 0; }; } // namespace GtpVisibility #endif // OcclusionQuery_H