BsGLQueryManager.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #include "BsGLQueryManager.h"
  5. #include "BsGLEventQuery.h"
  6. #include "BsGLTimerQuery.h"
  7. #include "BsGLOcclusionQuery.h"
  8. namespace BansheeEngine
  9. {
  10. EventQueryPtr GLQueryManager::createEventQuery() const
  11. {
  12. EventQueryPtr query = std::shared_ptr<GLEventQuery>(bs_new<GLEventQuery>(), &QueryManager::deleteEventQuery, StdAlloc<GenAlloc>());
  13. mEventQueries.push_back(query.get());
  14. return query;
  15. }
  16. TimerQueryPtr GLQueryManager::createTimerQuery() const
  17. {
  18. TimerQueryPtr query = std::shared_ptr<GLTimerQuery>(bs_new<GLTimerQuery>(), &QueryManager::deleteTimerQuery, StdAlloc<GenAlloc>());
  19. mTimerQueries.push_back(query.get());
  20. return query;
  21. }
  22. OcclusionQueryPtr GLQueryManager::createOcclusionQuery(bool binary) const
  23. {
  24. OcclusionQueryPtr query = std::shared_ptr<GLOcclusionQuery>(bs_new<GLOcclusionQuery>(binary), &QueryManager::deleteOcclusionQuery, StdAlloc<GenAlloc>());
  25. mOcclusionQueries.push_back(query.get());
  26. return query;
  27. }
  28. }