#pragma once #include "vcl/vcl.hpp" #include <map> struct scene_structure { vcl::camera_scene camera; vcl::camera_control_glfw camera_control; vcl::mesh_drawable frame_camera; vcl::mesh_drawable frame_worldspace; GLuint texture_white; }; struct gui_structure { GLFWwindow* window; std::string window_title; bool show_frame_camera = true; bool show_frame_worldspace = false; }; GLFWwindow* create_window(const std::string& window_title); void initialize_interface(gui_structure& gui); void load_shaders(std::map<std::string,GLuint>& shaders); void setup_scene(scene_structure &scene, gui_structure& gui); void clear_screen(); void update_fps_title(GLFWwindow* window, const std::string& title, vcl::glfw_fps_counter& fps_counter); void gui_start_basic_structure(gui_structure& gui, scene_structure& scene, const std::map<std::string,GLuint>& shaders);