BsRenderStats.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Object that stores various render statistics.
  8. */
  9. struct RenderStats
  10. {
  11. RenderStats()
  12. : numDrawCalls(0), numRenderTargetChanges(0), numPresents(0), numClears(0),
  13. numVertices(0), numPrimitives(0), numDrawnSamples(0), numBlendStateChanges(0),
  14. numRasterizerStateChanges(0), numDepthStencilStateChanges(0), numTextureBinds(0),
  15. numSamplerBinds(0), numVertexBufferBinds(0), numIndexBufferBinds(0), numGpuParamBufferBinds(0),
  16. numGpuProgramBinds(0)
  17. { }
  18. UINT64 numDrawCalls;
  19. UINT64 numRenderTargetChanges;
  20. UINT64 numPresents;
  21. UINT64 numClears;
  22. UINT64 numVertices;
  23. UINT64 numPrimitives;
  24. UINT64 numDrawnSamples;
  25. UINT64 numBlendStateChanges;
  26. UINT64 numRasterizerStateChanges;
  27. UINT64 numDepthStencilStateChanges;
  28. UINT64 numTextureBinds;
  29. UINT64 numSamplerBinds;
  30. UINT64 numVertexBufferBinds;
  31. UINT64 numIndexBufferBinds;
  32. UINT64 numGpuParamBufferBinds;
  33. UINT64 numGpuProgramBinds;
  34. UINT64 numResourceWrites;
  35. UINT64 numResourceReads;
  36. UINT64 numObjectsCreated;
  37. UINT64 numObjectsDestroyed;
  38. };
  39. }