Polyphase Game Engine
Loading...
Searching...
No Matches
StatsOverlay.h
Go to the documentation of this file.
1#pragma once
2
5#include <deque>
6
7class Poly;
8
9enum class StatDisplayMode : uint8_t
10{
11 None,
18 Memory,
19 Network,
21 Culling,
22
23 Count
24};
25
26class StatsOverlay : public Canvas
27{
28public:
29
31
33 virtual ~StatsOverlay();
34
35 virtual void GatherProperties(std::vector<Property>& outProps) override;
36
37 // Every live StatsOverlay registers itself here so the Renderer can tell
38 // if a scene-placed one exists before showing its own fallback.
39 static const std::vector<StatsOverlay*>& GetAllInstances();
40
41 virtual void Tick(float deltaTime) override;
42 virtual void EditorTick(float deltaTime) override;
43 void TickCommon(float deltaTime);
44
47
48 void SetStatText(uint32_t index, const char* key, float value, glm::vec4 color, float& y);
49
50 float mTextSize = 14.0f;
51
52 std::vector<Text*> mStatKeyTexts;
53 std::vector<Text*> mStatValueTexts;
56
57 // Frame-graph mode state.
58 Poly* mGraphPoly = nullptr; // transient child, rebuilt each load
59 std::deque<float> mFrameTimeHistory; // ring of recent frame times (ms)
60 uint32_t mFrameGraphSamples = 120; // how many samples to keep / draw
61 float mFrameGraphMaxMs = 33.33f; // vertical scale; set to expected worst-case
62};
StatDisplayMode
Definition StatsOverlay.h:10
Definition Canvas.h:9
Definition Poly.h:10
Definition StatsOverlay.h:27
float mFrameGraphMaxMs
Definition StatsOverlay.h:61
void TickCommon(float deltaTime)
Definition StatsOverlay.cpp:77
uint32_t mFrameGraphSamples
Definition StatsOverlay.h:60
virtual void Tick(float deltaTime) override
Definition StatsOverlay.cpp:65
StatDisplayMode GetDisplayMode() const
Definition StatsOverlay.cpp:319
StatsOverlay()
Definition StatsOverlay.cpp:46
static const std::vector< StatsOverlay * > & GetAllInstances()
Definition StatsOverlay.cpp:41
virtual void EditorTick(float deltaTime) override
Definition StatsOverlay.cpp:71
virtual ~StatsOverlay()
Definition StatsOverlay.cpp:59
std::vector< Text * > mStatValueTexts
Definition StatsOverlay.h:53
std::deque< float > mFrameTimeHistory
Definition StatsOverlay.h:59
bool mTextChildrenInitialized
Definition StatsOverlay.h:55
void SetStatText(uint32_t index, const char *key, float value, glm::vec4 color, float &y)
Definition StatsOverlay.cpp:324
float mTextSize
Definition StatsOverlay.h:50
Poly * mGraphPoly
Definition StatsOverlay.h:58
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition StatsOverlay.cpp:301
std::vector< Text * > mStatKeyTexts
Definition StatsOverlay.h:52
DECLARE_NODE(StatsOverlay, Canvas)
void SetDisplayMode(StatDisplayMode mode)
Definition StatsOverlay.cpp:314
StatDisplayMode mDisplayMode
Definition StatsOverlay.h:54