49 bool Init(GLFWwindow *window);
71 void RegisterPanel(std::string name,
PanelFn fn) { m_customPanels.emplace_back(std::move(name), std::move(fn)); }
80 void DrawRenderBody();
81 void DrawEngineBody();
82 void DrawPhysicsBody();
83 void DrawPlayerBody();
86 bool m_initialized =
false;
87 bool m_visible =
false;
88 bool m_showHierarchy =
true;
89 bool m_showInspector =
true;
90 bool m_showConsole =
true;
91 bool m_showRender =
true;
92 bool m_showStats =
true;
93 bool m_showEngine =
true;
94 bool m_showPhysics =
true;
95 bool m_showPlayer =
true;
96 bool m_showDemo =
false;
98 int m_lastDrawCount = 0;
99 f32 m_fpsSmoothed = 0.0F;
101 bool m_vsyncEnabled =
false;
102 bool m_wireframe =
false;
103 bool m_cursorLocked =
true;
105 std::vector<std::pair<std::string, PanelFn>> m_customPanels;
Engine-wide primitive type aliases and GLM math imports.
ImGui-based in-game editor overlay.
void RegisterPanel(std::string name, PanelFn fn)
Register a custom ImGui panel rendered alongside the built-ins.
std::function< void()> PanelFn
Custom-panel callback — render any ImGui widgets you like inside.
void EndFrame()
Renders the ImGui draw data to the current framebuffer.
void Shutdown()
Tear down ImGui state. Call before destroying the GL context.
bool WantsCaptureKeyboard() const
Same as WantsCaptureMouse() but for the keyboard.
void ToggleVisible()
Flip overlay visibility.
bool IsVisible() const
Editor overlay currently shown?
bool Init(GLFWwindow *window)
Initialise ImGui against the given GLFW window. Call once at startup.
void BeginFrame()
Call after glfwPollEvents.
void NotifyDrawCount(int n)
Stats panel hook: report per-frame draw call count.
bool WantsCaptureMouse() const
void Draw()
Builds all panels (no GL state changes yet).
Node in the scene graph: a named transform that owns components and children.
float f32
32-bit IEEE float — the standard GL scalar type.