#ifndef _OcclusionQuery_H__ #define _OcclusionQuery_H__ #include namespace GtpVisibilityPreprocessor { /** This class is an implementation for occlusion queries. @remark the class encapsulates occlusion query calls. */ class OcclusionQuery { public: OcclusionQuery(); virtual ~OcclusionQuery(); virtual bool ResultAvailable() const; virtual unsigned int GetQueryResult() const; virtual void BeginQuery(); virtual void EndQuery(); static void GenQueries(std::vector &queries, const int numQueries); unsigned int GetQueryId() const; protected: OcclusionQuery(const unsigned int idx); static bool sUseArbQueries; unsigned int mId; }; } // namespace #endif // OcclusionQuery_H