BsGLEventQuery.cpp 463 B

1234567891011121314151617181920212223242526272829
  1. #include "BsGLEventQuery.h"
  2. namespace BansheeEngine
  3. {
  4. GLEventQuery::GLEventQuery()
  5. :mQueryObj(0)
  6. {
  7. glGenQueries(1, &mQueryObj);
  8. }
  9. GLEventQuery::~GLEventQuery()
  10. {
  11. glDeleteQueries(1, &mQueryObj);
  12. }
  13. void GLEventQuery::begin()
  14. {
  15. glQueryCounter(mQueryObj, GL_TIMESTAMP);
  16. setActive(true);
  17. }
  18. bool GLEventQuery::isReady() const
  19. {
  20. GLint done = 0;
  21. glGetQueryObjectiv(mQueryObj, GL_QUERY_RESULT_AVAILABLE, &done);
  22. return done == GL_TRUE;
  23. }
  24. }