HPC_Voxel_Engine 0.2.0
High-Performance C++ Voxel Engine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Attributes | List of all members
Application Class Reference

Manages the application lifecycle, configuration state, and UI integration (ImGui). More...

#include <src/app/Application.h>

Collaboration diagram for Application:
Collaboration graph

Public Member Functions

 Application (GLFWwindow *pWindow)
 Constructs the application and associates it with a window.
 
 ~Application ()=default
 
void HandleUIToggle ()
 Handles the UI toggle input (typically the Grave Accent / Tilde key).
 
void BeginImGUIFrame ()
 Starts a new ImGui frame context.
 
void EndImGUIFrame ()
 Ends the current ImGui frame and dispatches draw data to OpenGL.
 
void InitImGUI ()
 Initializes the ImGui context and configures the GLFW/OpenGL3 backends.
 
void ShutDownImGUI ()
 Shuts down ImGui, releasing all allocated backend and context resources.
 
void RenderMetricsUI (App::InputHandler &inputHandler, const ChunkManager &objChunkManager, const RayHit &objRayHit)
 Renders the primary metrics and debugging UI panel.
 
void RenderHelpUI ()
 Renders the Help/Controls overlay window.
 

Public Attributes

float m_fFlySpeed = 200.0f
 
float m_fAccumulator = 20.0f
 
int m_iPhysicsSteps = 0
 
int m_iMainThreads = 1
 
int m_iThermalThreads = 4
 
int m_iActiveThreads = 4
 
int m_iMaxRenderingThreads = 8
 
bool m_bShowMetricsPanel = true
 
bool m_bShowHelpWindow = true
 
bool m_bWireframeMode = false
 
bool m_bHardwareCulling = true
 
bool m_bEnableNeighborCulling = true
 
bool m_bFrustumCulling = true
 
bool m_bFlyMode = false
 
bool m_bEnableVsycn = false
 
bool m_bEnableSIMD = true
 

Private Attributes

GLFWwindow * m_pWindow
 

Detailed Description

Manages the application lifecycle, configuration state, and UI integration (ImGui).

Constructor & Destructor Documentation

◆ Application()

Application::Application ( GLFWwindow *  pWindow)

Constructs the application and associates it with a window.

Parameters
pWindowPointer to the active GLFW window context.

◆ ~Application()

Application::~Application ( )
default

Member Function Documentation

◆ BeginImGUIFrame()

void Application::BeginImGUIFrame ( )

Starts a new ImGui frame context.

Note
Must be called before issuing any ImGui rendering commands in the main loop.

◆ EndImGUIFrame()

void Application::EndImGUIFrame ( )

Ends the current ImGui frame and dispatches draw data to OpenGL.

◆ HandleUIToggle()

void Application::HandleUIToggle ( )

Handles the UI toggle input (typically the Grave Accent / Tilde key).

  • Switches the application between FPS mode (cursor captured and disabled) and UI mode (cursor freed for ImGui interaction).

◆ InitImGUI()

void Application::InitImGUI ( )

Initializes the ImGui context and configures the GLFW/OpenGL3 backends.

◆ RenderHelpUI()

void Application::RenderHelpUI ( )

Renders the Help/Controls overlay window.

◆ RenderMetricsUI()

void Application::RenderMetricsUI ( App::InputHandler inputHandler,
const ChunkManager objChunkManager,
const RayHit objRayHit 
)

Renders the primary metrics and debugging UI panel.

Parameters
inputHandlerReference to the system input handler for displaying control states.
objChunkManagerReference to the ChunkManager for displaying chunk/threading stats.
objRayHitReference to the current RayHit data for block targeting information.
Here is the call graph for this function:

◆ ShutDownImGUI()

void Application::ShutDownImGUI ( )

Shuts down ImGui, releasing all allocated backend and context resources.

Member Data Documentation

◆ m_bEnableNeighborCulling

bool Application::m_bEnableNeighborCulling = true

◆ m_bEnableSIMD

bool Application::m_bEnableSIMD = true

◆ m_bEnableVsycn

bool Application::m_bEnableVsycn = false

◆ m_bFlyMode

bool Application::m_bFlyMode = false

◆ m_bFrustumCulling

bool Application::m_bFrustumCulling = true

◆ m_bHardwareCulling

bool Application::m_bHardwareCulling = true

◆ m_bShowHelpWindow

bool Application::m_bShowHelpWindow = true

◆ m_bShowMetricsPanel

bool Application::m_bShowMetricsPanel = true

◆ m_bWireframeMode

bool Application::m_bWireframeMode = false

◆ m_fAccumulator

float Application::m_fAccumulator = 20.0f

◆ m_fFlySpeed

float Application::m_fFlySpeed = 200.0f

◆ m_iActiveThreads

int Application::m_iActiveThreads = 4

◆ m_iMainThreads

int Application::m_iMainThreads = 1

◆ m_iMaxRenderingThreads

int Application::m_iMaxRenderingThreads = 8

◆ m_iPhysicsSteps

int Application::m_iPhysicsSteps = 0

◆ m_iThermalThreads

int Application::m_iThermalThreads = 4

◆ m_pWindow

GLFWwindow* Application::m_pWindow
private

The documentation for this class was generated from the following files: