00001 #ifndef _OcclusionQuery_H__ 00002 #define _OcclusionQuery_H__ 00003 00004 #include <vector> 00005 00009 class OcclusionQuery 00010 { 00011 public: 00012 00013 OcclusionQuery(); 00014 00015 virtual ~OcclusionQuery(); 00016 00017 virtual bool ResultAvailable() const; 00018 virtual unsigned int GetQueryResult() const; 00019 virtual void BeginQuery(); 00020 virtual void EndQuery(); 00021 00022 static void GenQueries(std::vector<OcclusionQuery *> &queries, const int numQueries); 00023 00024 unsigned int GetQueryId() const; 00025 00026 00027 protected: 00028 00029 OcclusionQuery(const unsigned int idx); 00030 static bool sUseArbQueries; 00031 00032 unsigned int mId; 00033 }; 00034 00035 #endif // OcclusionQuery_H