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