BsGLQueryManager.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsGLQueryManager.h"
  4. #include "BsGLEventQuery.h"
  5. #include "BsGLTimerQuery.h"
  6. #include "BsGLOcclusionQuery.h"
  7. namespace BansheeEngine
  8. {
  9. EventQueryPtr GLQueryManager::createEventQuery() const
  10. {
  11. EventQueryPtr query = std::shared_ptr<GLEventQuery>(bs_new<GLEventQuery>(), &QueryManager::deleteEventQuery, StdAlloc<GLEventQuery>());
  12. mEventQueries.push_back(query.get());
  13. return query;
  14. }
  15. TimerQueryPtr GLQueryManager::createTimerQuery() const
  16. {
  17. TimerQueryPtr query = std::shared_ptr<GLTimerQuery>(bs_new<GLTimerQuery>(), &QueryManager::deleteTimerQuery, StdAlloc<GLTimerQuery>());
  18. mTimerQueries.push_back(query.get());
  19. return query;
  20. }
  21. OcclusionQueryPtr GLQueryManager::createOcclusionQuery(bool binary) const
  22. {
  23. OcclusionQueryPtr query = std::shared_ptr<GLOcclusionQuery>(bs_new<GLOcclusionQuery>(binary), &QueryManager::deleteOcclusionQuery, StdAlloc<GLOcclusionQuery>());
  24. mOcclusionQueries.push_back(query.get());
  25. return query;
  26. }
  27. }