33 lines
813 B
C++
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
|