Avara3D 0.2.0
C++ API reference
StatsOverlay.h
1//
2// StatsOverlay.h
3// avara3d
4//
5// Created by Morgan Davis on 8/10/26.
6// Copyright © 2026 Morgan K Davis. All rights reserved.
7//
8
9#ifndef AVARA3D_RENDER_BACKEND_OPENGL_STATSOVERLAY_H
10#define AVARA3D_RENDER_BACKEND_OPENGL_STATSOVERLAY_H
11
12#include "a3d/scene/Scene.h"
13
14struct ImFont;
15
16namespace a3d {
17
18 struct FrameStats;
19
20 class FrameStatsHistory;
21 class ImguiContext;
22 class RenderContext;
23
24 class StatsOverlay {
25
26 public:
27 // [Internal Lifecycle Functions]
28
29 StatsOverlay();
30
31 StatsOverlay(const StatsOverlay&) = delete;
32 StatsOverlay& operator=(const StatsOverlay&) = delete;
33
34 StatsOverlay(StatsOverlay&&) = delete;
35 StatsOverlay& operator=(StatsOverlay&&) = delete;
36
37 ~StatsOverlay();
38
39 // [Internal Member Functions]
40
41 void initialize(ImguiContext& context);
42
43 void draw(const RenderContext& context,
44 const Scene& scene,
45 FrameStats& stats,
46 const FrameStatsHistory& statsHistory,
47 Scene::DebugOptions debugOptions,
48 bool gpuTimingAvailable);
49
50 private:
51 // [Private Member Variables]
52
53 ImFont* _titleImFont;
54 ImFont* _bodyImFont;
55 };
56
57}
58
59#endif // AVARA3D_RENDER_BACKEND_OPENGL_STATSOVERLAY_H
DebugOptions
Scene-wide debug visualization options.
Definition: Scene.h:61