Program Listing for File GUI.hpp
↰ Return to documentation for file (Src/GraphicsEngineVulkan/gui/GUI.hpp
)
#pragma once
#include <memory>
// #define GLFW_INCLUDE_NONE
// #define GLFW_INCLUDE_VULKAN
// #include <GLFW/glfw3.h>
#include "common/Globals.hpp"
#include "renderer/CommandBufferManager.hpp"
#include "renderer/GUIRendererSharedVars.hpp"
#include "scene/GUISceneSharedVars.hpp"
#include "vulkan_base/VulkanDevice.hpp"
#include "window/Window.hpp"
namespace Kataglyphis::Frontend {
class GUI
{
public:
GUI(Window *window);
void initializeVulkanContext(VulkanDevice *device,
const VkInstance &instance,
const VkRenderPass &post_render_pass,
const VkCommandPool &graphics_command_pool);
GUISceneSharedVars getGuiSceneSharedVars() { return guiSceneSharedVars; };
Kataglyphis::VulkanRendererInternals::FrontendShared::GUIRendererSharedVars &getGuiRendererSharedVars()
{
return guiRendererSharedVars;
};
void setUserSelectionForRRT(bool rrtCapabilitiesAvailable);
void render();
void cleanUp();
~GUI();
private:
void create_gui_context(Window *window, const VkInstance &instance, const VkRenderPass &post_render_pass);
VulkanDevice *device{ VK_NULL_HANDLE };
Window *window{ VK_NULL_HANDLE };
VkDescriptorPool gui_descriptor_pool{ VK_NULL_HANDLE };
Kataglyphis::VulkanRendererInternals::CommandBufferManager commandBufferManager;
GUISceneSharedVars guiSceneSharedVars;
Kataglyphis::VulkanRendererInternals::FrontendShared::GUIRendererSharedVars guiRendererSharedVars;
bool renderUserSelectionForRRT = true;
};
}// namespace Kataglyphis::Frontend