TheAtlasEngine
 
Loading...
Searching...
No Matches
atlas::application Class Reference

represents a single application that gets created by the engine internally More...

#include <application.hpp>

Public Member Functions

 application (const application_settings &p_settings)
 constructs a new application
 
void execute ()
 Explicitly is used to execute the application's mainloop.
 
void post_destroy ()
 Performs any post cleanup when user requests the application to close.
 
VkSwapchainKHR get_current_swapchain ()
 gives you the current swapchain handle
 

Static Public Member Functions

static float delta_time ()
 
static float physics_step ()
 
static windowget_window ()
 we only ever have one window
 
static api current_api ()
 
static void destroy ()
 destroys the application completely
 
static float aspect_ratio ()
 gives you the current aspect ratio based on the dimensions of the window
 
static uint32_t current_frame ()
 Gives you the current frame index which is used for the Vulkan renderer.
 
static uint32_t image_size ()
 Intended to get the image size so when you use current_frame() to get thje frame index, that you are not making an attempt at accessing anything outside of the frame.
 

Protected Member Functions

ref< rendererrenderer_instance () const
 

Detailed Description

represents a single application that gets created by the engine internally

There is only ever going to be one application tied to the engine's runtime. As the application is given responsibilities of preloading, pre-initialization any sort of utilities required by the engine, and any form of post-cleanup when the user requests the application to close.

Constructor & Destructor Documentation

◆ application()

atlas::application::application ( const application_settings p_settings)

constructs a new application

Parameters
p_settingsis the specific application settings to configure how the application may be setup

Member Function Documentation

◆ aspect_ratio()

static float atlas::application::aspect_ratio ( )
static

gives you the current aspect ratio based on the dimensions of the window

Returns
a float which is just a static_cast<float>(width / height);

◆ current_api()

static api atlas::application::current_api ( )
static
Returns
the currently specified API.

◆ current_frame()

static uint32_t atlas::application::current_frame ( )
static

Gives you the current frame index which is used for the Vulkan renderer.

Provides information such as what is the current frame index to correcly index the commands that get submitted to the GPU for processing commands (tasks)

Returns
uint32_t

◆ delta_time()

static float atlas::application::delta_time ( )
static
Returns
the delta time as a float for giving you the timestep every frame

◆ destroy()

static void atlas::application::destroy ( )
static

destroys the application completely

TODO: Not make this static because you should not allow for this to be a direct calls users can have access to

◆ get_current_swapchain()

VkSwapchainKHR atlas::application::get_current_swapchain ( )

gives you the current swapchain handle

TODO: This is not actually needed, and should be removed

◆ get_window()

static window & atlas::application::get_window ( )
inlinestatic

we only ever have one window

This static function was a means to getting access to the window to perform any operations or request any data the window may have to provide

◆ image_size()

static uint32_t atlas::application::image_size ( )
static

Intended to get the image size so when you use current_frame() to get thje frame index, that you are not making an attempt at accessing anything outside of the frame.

Returns
uint32_t

◆ physics_step()

static float atlas::application::physics_step ( )
static

TODO: Need to remove this as it is not needed here

Originally was used to handle the fixed physics timestep, but that can be handled else where.


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