Files
FGL-Engine/src/engine/systems/GuiSystem.hpp
2024-10-12 08:33:17 -04:00

33 lines
813 B
C++

//
// Created by kj16609 on 6/23/24.
//
#pragma once
#include "engine/FrameInfo.hpp"
#include "engine/descriptors/DescriptorSetLayout.hpp"
#include "engine/rendering/pipelines/Shader.hpp"
namespace fgl::engine
{
class Pipeline;
struct FrameInfo;
/**
* @brief Handles the ImGui instances and rendering process. Takes the composite output from the CompositionSystem and renders it to the final output buffer to be presented
*/
class GuiSystem
{
std::unique_ptr< Pipeline > m_pipeline {};
//Setup isn't needed for this. So we can just never define this safely.
[[maybe_unused]] vk::raii::CommandBuffer& setupSystem( FrameInfo& info );
public:
GuiSystem( vk::raii::RenderPass& render_pass );
FGL_DELETE_ALL_Ro5( GuiSystem );
void pass( FrameInfo& info );
};
} // namespace fgl::engine