3#include <core/window.hpp>
5#include <renderer/renderer.hpp>
6#include <drivers/vulkan-cpp/vk_imgui.hpp>
14 std::string name =
"Undefined";
17 glm::vec4 background_color = { 1.f, 0.5f, 0.5f, 1.f };
127 [[nodiscard]] ref<renderer> renderer_instance()
const {
132 void set_current_api(api api);
135 float m_delta_time = 0.f;
136 ref<window> m_window;
137 ref<renderer> m_renderer =
nullptr;
138 glm::mat4 m_proj_view;
139 uint32_t m_current_frame_index = -1;
144 ref<application> initialize_application();
represents a single application that gets created by the engine internally
Definition application.hpp:30
static uint32_t current_frame()
Gives you the current frame index which is used for the Vulkan renderer.
static void destroy()
destroys the application completely
static float delta_time()
static float physics_step()
static float aspect_ratio()
gives you the current aspect ratio based on the dimensions of the window
VkSwapchainKHR get_current_swapchain()
gives you the current swapchain handle
static window & get_window()
we only ever have one window
Definition application.hpp:73
void execute()
Explicitly is used to execute the application's mainloop.
application(const application_settings &p_settings)
constructs a new application
static uint32_t image_size()
Intended to get the image size so when you use current_frame() to get thje frame index,...
void post_destroy()
Performs any post cleanup when user requests the application to close.
Definition vk_imgui.hpp:24
Represent an entire window that lives throughout the entire duration of the application.
Definition window.hpp:18
application properties settings for the window
Definition application.hpp:13