![]() |
Rendering Engine 0.2.9
Modular Graphics Rendering Engine | v0.2.9
|
Default implementation of the IApplication interface. More...
#include <core_application.hpp>
Inherits rendering_engine::IApplication.
Public Member Functions | |
| CoreApplication () | |
| Constructs a CoreApplication using settings from the config file. More... | |
| CoreApplication (char const *appName) | |
| Constructs a CoreApplication with full-screen window size. More... | |
| CoreApplication (unsigned int width, unsigned int height, char const *appName) | |
| Constructs a CoreApplication with explicit window size. More... | |
| CoreApplication (unsigned int width, unsigned int height, char const *appName, std::shared_ptr< IWindowSystem > windowSystem, std::shared_ptr< IRenderer > renderer) | |
| Constructs a CoreApplication with injected subsystems. More... | |
| CoreApplication (char const *appName, std::shared_ptr< IWindowSystem > windowSystem, std::shared_ptr< IRenderer > renderer) | |
| Constructs a CoreApplication with custom systems but default window size. More... | |
| virtual | ~CoreApplication () |
| void | Initialize () override |
| Initializes the application and its subsystems. More... | |
| void | Run () override |
| Runs the main application loop. More... | |
| void | Update (float deltaTime) override |
| Updates the application state. More... | |
| void | Draw () override |
| Executes the rendering logic for the current frame. More... | |
| void | Shutdown () override |
| Performs cleanup and shuts down the application. More... | |
| ScreenSettings | GetScreenSettings () const override |
| Retrieves the current screen or window settings. More... | |
| FrameMetrics | GetFrameMetrics () const override |
| Returns performance metrics of the last processed frame. More... | |
Public Member Functions inherited from rendering_engine::IApplication | |
| virtual void | Initialize ()=0 |
| Initializes the application and its subsystems. More... | |
| virtual void | Run ()=0 |
| Runs the main application loop. More... | |
| virtual void | Update (float deltaTime)=0 |
| Updates the application state. More... | |
| virtual void | Draw ()=0 |
| Executes the rendering logic for the current frame. More... | |
| virtual void | Shutdown ()=0 |
| Performs cleanup and shuts down the application. More... | |
| virtual | ~IApplication ()=default |
| Virtual destructor for safe polymorphic deletion. More... | |
| virtual ScreenSettings | GetScreenSettings () const =0 |
| Retrieves the current screen or window settings. More... | |
| virtual FrameMetrics | GetFrameMetrics () const =0 |
| Returns performance metrics of the last processed frame. More... | |
Protected Attributes | |
| bool | bIsFullScreen |
| unsigned int | mWidth |
| unsigned int | mHeight |
| std::string | mAppName |
| AppConfig | mAppConfig |
| FrameMetrics | mFrameMetrics |
| std::shared_ptr< AppTime > | mAppTime |
| std::shared_ptr< IWindowSystem > | mWindowSystem |
| std::shared_ptr< IRenderer > | mRenderer |
| std::shared_ptr< SceneManager > | mSceneManager |
Default implementation of the IApplication interface.
Coordinates the main execution flow of a rendering-based application, including initialization, update, rendering, and shutdown. It acts as the central manager that connects the renderer, window system, and scene management subsystems.
Definition at line 34 of file core_application.hpp.
| rendering_engine::CoreApplication::CoreApplication | ( | ) |
Constructs a CoreApplication using settings from the config file.
Loads AppConfig and applies its values to window setup.
Definition at line 15 of file core_application.cpp.
| rendering_engine::CoreApplication::CoreApplication | ( | char const * | appName | ) |
Constructs a CoreApplication with full-screen window size.
| appName | Name of the application, used for window caption and logging. |
Definition at line 28 of file core_application.cpp.
| rendering_engine::CoreApplication::CoreApplication | ( | unsigned int | width, |
| unsigned int | height, | ||
| char const * | appName | ||
| ) |
Constructs a CoreApplication with explicit window size.
| width | Window width in pixels. |
| height | Window height in pixels. |
| appName | Name of the application. |
Definition at line 39 of file core_application.cpp.
| rendering_engine::CoreApplication::CoreApplication | ( | unsigned int | width, |
| unsigned int | height, | ||
| char const * | appName, | ||
| std::shared_ptr< IWindowSystem > | windowSystem, | ||
| std::shared_ptr< IRenderer > | renderer | ||
| ) |
Constructs a CoreApplication with injected subsystems.
| width | Window width in pixels. |
| height | Window height in pixels. |
| appName | Name of the application. |
| windowSystem | Shared pointer to a custom window system implementation. |
| renderer | Shared pointer to a custom renderer implementation. |
Definition at line 52 of file core_application.cpp.
| rendering_engine::CoreApplication::CoreApplication | ( | char const * | appName, |
| std::shared_ptr< IWindowSystem > | windowSystem, | ||
| std::shared_ptr< IRenderer > | renderer | ||
| ) |
Constructs a CoreApplication with custom systems but default window size.
| appName | Name of the application. |
| windowSystem | Shared pointer to a custom window system implementation. |
| renderer | Shared pointer to a custom renderer implementation. |
Definition at line 69 of file core_application.cpp.
|
virtual |
Definition at line 84 of file core_application.cpp.
|
overridevirtual |
Executes the rendering logic for the current frame.
Implements rendering_engine::IApplication.
Definition at line 217 of file core_application.cpp.
|
overridevirtual |
Returns performance metrics of the last processed frame.
Implements rendering_engine::IApplication.
Definition at line 253 of file core_application.cpp.
|
overridevirtual |
Retrieves the current screen or window settings.
Implements rendering_engine::IApplication.
Definition at line 242 of file core_application.cpp.
|
overridevirtual |
Initializes the application and its subsystems.
Implements rendering_engine::IApplication.
Definition at line 86 of file core_application.cpp.
|
overridevirtual |
Runs the main application loop.
Implements rendering_engine::IApplication.
Definition at line 129 of file core_application.cpp.
|
overridevirtual |
Performs cleanup and shuts down the application.
Implements rendering_engine::IApplication.
Definition at line 228 of file core_application.cpp.
|
overridevirtual |
Updates the application state.
| deltaTime | Time elapsed since the previous frame, in milliseconds. |
Implements rendering_engine::IApplication.
Definition at line 209 of file core_application.cpp.
|
protected |
Definition at line 97 of file core_application.hpp.
|
protected |
Definition at line 101 of file core_application.hpp.
|
protected |
Definition at line 100 of file core_application.hpp.
|
protected |
Definition at line 105 of file core_application.hpp.
|
protected |
Definition at line 103 of file core_application.hpp.
|
protected |
Definition at line 99 of file core_application.hpp.
|
protected |
Definition at line 107 of file core_application.hpp.
|
protected |
Definition at line 109 of file core_application.hpp.
|
protected |
Definition at line 98 of file core_application.hpp.
|
protected |
Definition at line 106 of file core_application.hpp.