Debug Draw 3D (and 2D) 1.3.0
Draw 3D debug graphics and 2D overlays with this add-on.
Loading...
Searching...
No Matches
stats_3d.h
1#pragma once
2
3#include "utils/compiler.h"
4
5GODOT_WARNING_DISABLE()
6#include <godot_cpp/classes/ref_counted.hpp>
7GODOT_WARNING_RESTORE()
8using namespace godot;
9
24class DebugDraw3DStats : public RefCounted {
25 GDCLASS(DebugDraw3DStats, RefCounted)
26
27protected:
29 static void _bind_methods();
30
31#define DEFINE_DEFAULT_PROP(name, type, def) \
32private: \
33 type name = def; \
34 \
35public: \
36 type get_##name() const { return name; } \
37 void set_##name(int64_t val) {}
38
39 DEFINE_DEFAULT_PROP(instances, int64_t, 0);
40 DEFINE_DEFAULT_PROP(lines, int64_t, 0);
41 DEFINE_DEFAULT_PROP(instances_physics, int64_t, 0);
42 DEFINE_DEFAULT_PROP(lines_physics, int64_t, 0);
43 DEFINE_DEFAULT_PROP(total_geometry, int64_t, 0);
44
45 DEFINE_DEFAULT_PROP(visible_instances, int64_t, 0);
46 DEFINE_DEFAULT_PROP(visible_lines, int64_t, 0);
47 DEFINE_DEFAULT_PROP(visible_instances_physics, int64_t, 0);
48 DEFINE_DEFAULT_PROP(visible_lines_physics, int64_t, 0);
49 DEFINE_DEFAULT_PROP(total_visible, int64_t, 0);
50
51 DEFINE_DEFAULT_PROP(time_filling_buffers_instances_usec, int64_t, 0);
52 DEFINE_DEFAULT_PROP(time_filling_buffers_lines_usec, int64_t, 0);
53 DEFINE_DEFAULT_PROP(time_filling_buffers_instances_physics_usec, int64_t, 0);
54 DEFINE_DEFAULT_PROP(time_filling_buffers_lines_physics_usec, int64_t, 0);
55 DEFINE_DEFAULT_PROP(total_time_filling_buffers_usec, int64_t, 0);
56
57 DEFINE_DEFAULT_PROP(time_culling_instant_usec, int64_t, 0);
58 DEFINE_DEFAULT_PROP(time_culling_delayed_usec, int64_t, 0);
59 DEFINE_DEFAULT_PROP(time_culling_instant_physics_usec, int64_t, 0);
60 DEFINE_DEFAULT_PROP(time_culling_delayed_physics_usec, int64_t, 0);
61 DEFINE_DEFAULT_PROP(total_time_culling_usec, int64_t, 0);
62
63 DEFINE_DEFAULT_PROP(total_time_spent_usec, int64_t, 0);
64
65 DEFINE_DEFAULT_PROP(created_scoped_configs, int64_t, 0);
66 DEFINE_DEFAULT_PROP(orphan_scoped_configs, int64_t, 0);
67
68#undef DEFINE_DEFAULT_PROP
69
71
73 void set_scoped_config_stats(
74 const int64_t &t_created_scoped_configs,
75 const int64_t &t_orphan_scoped_configs);
76
78 void set_render_stats(
79 const int64_t &t_instances,
80 const int64_t &t_lines,
81 const int64_t &t_visible_instances,
82 const int64_t &t_visible_lines,
83
84 const int64_t &t_instances_phys,
85 const int64_t &t_lines_phys,
86 const int64_t &t_visible_instances_phys,
87 const int64_t &t_visible_lines_phys,
88
89 const int64_t &t_time_filling_buffers_instances_usec,
90 const int64_t &t_time_filling_buffers_lines_usec,
91 const int64_t &t_time_culling_instant_usec,
92 const int64_t &t_time_culling_delayed_usec);
93};
You can get statistics about 3D rendering from this class.
Definition stats_3d.h:24