Browse Source

Added IO.MetricsVertices counter

ocornut 10 years ago
parent
commit
33ef3992f7
2 changed files with 3 additions and 0 deletions
  1. 2 0
      imgui.cpp
  2. 1 0
      imgui.h

+ 2 - 0
imgui.cpp

@@ -1670,6 +1670,7 @@ static inline void AddDrawListToRenderList(ImVector<ImDrawList*>& out_render_lis
         if (draw_list->commands.back().vtx_count == 0)
             draw_list->commands.pop_back();
         out_render_list.push_back(draw_list);
+        GImGui->IO.MetricsVertices += (int)draw_list->vtx_buffer.size();
     }
 }
 
@@ -2203,6 +2204,7 @@ void ImGui::Render()
         }
 
         // Gather windows to render
+        g.IO.MetricsVertices = 0;
         for (size_t i = 0; i < IM_ARRAYSIZE(g.RenderDrawLists); i++)
             g.RenderDrawLists[i].resize(0);
         for (size_t i = 0; i != g.Windows.size(); i++)

+ 1 - 0
imgui.h

@@ -669,6 +669,7 @@ struct ImGuiIO
     bool        WantCaptureMouse;           // Mouse is hovering a window or widget is active (= ImGui will use your mouse input)
     bool        WantCaptureKeyboard;        // Widget is active (= ImGui will use your keyboard input)
     float       Framerate;                  // Framerate estimation, in frame per second. Rolling average estimation based on IO.DeltaTime over 120 frames
+    int         MetricsVertices;            // Vertices processed during last call to Render()
 
     //------------------------------------------------------------------
     // [Internal] ImGui will maintain those fields for you