Class Application¶
Defined in File application.hpp
Inheritance Relationships¶
Base Type¶
public inexor::vulkan_renderer::VulkanRenderer
(Class VulkanRenderer)
Class Documentation¶
-
class Application : public inexor::vulkan_renderer::VulkanRenderer¶
Public Functions
-
Application(int argc, char **argv)¶
-
void key_callback(GLFWwindow *window, int key, int scancode, int action, int mods)¶
Call glfwSetKeyCallback.
- Parameters
window – The window that received the event.
key – The keyboard key that was pressed or released.
scancode – The system-specific scancode of the key.
action – GLFW_PRESS, GLFW_RELEASE or GLFW_REPEAT.
mods – Bit field describing which modifier keys were held down.
-
void cursor_position_callback(GLFWwindow *window, double x_pos, double y_pos)¶
Call glfwSetCursorPosCallback.
- Parameters
window – The window that received the event.
x_pos – The new x-coordinate, in screen coordinates, of the cursor.
y_pos – The new y-coordinate, in screen coordinates, of the cursor.
-
void mouse_button_callback(GLFWwindow *window, int button, int action, int mods)¶
Call glfwSetMouseButtonCallback.
- Parameters
window – The window that received the event.
button – The mouse button that was pressed or released.
action – One of GLFW_PRESS or GLFW_RELEASE.
mods – Bit field describing which modifier keys were held down.
-
void mouse_scroll_callback(GLFWwindow *window, double x_offset, double y_offset)¶
Call camera’s process_mouse_scroll method.
- Parameters
window – The window that received the event.
x_offset – The change of x-offset of the mouse wheel.
y_offset – The change of y-offset of the mouse wheel.
-
void run()¶
Private Functions
-
void load_toml_configuration_file(const std::string &file_name)¶
Load the configuration of the renderer from a TOML configuration file.
file_name The TOML configuration file.
Note
It was collectively decided not to use JSON for configuration files.
-
void load_textures()¶
-
void load_shaders()¶
-
void load_octree_geometry(bool initialize)¶
- Parameters
initialize – Initialize worlds with a fixed seed, which is useful for benchmarking and testing
-
void setup_vulkan_debug_callback()¶
-
void setup_window_and_input_callbacks()¶
-
void update_imgui_overlay()¶
-
void update_uniform_buffers()¶
-
void check_octree_collisions()¶
Use the camera’s position and view direction vector to check for ray-octree collisions with all octrees.
-
void process_mouse_input()¶
Private Members
-
std::vector<std::string> m_vertex_shader_files¶
-
std::vector<std::string> m_fragment_shader_files¶
-
std::vector<std::string> m_texture_files¶
-
std::vector<std::string> m_gltf_model_files¶
-
std::unique_ptr<input::KeyboardMouseInputData> m_input_data¶
-
bool m_enable_validation_layers = {true}¶
-
std::vector<std::shared_ptr<world::Cube>> m_worlds¶
Inexor engine supports a variable number of octrees.
-
bool m_stop_on_validation_message = {false}¶
-
Application(int argc, char **argv)¶