Files
Copium/CopiumEngine/src/copium/core/ImGuiInstance.h
T
Thraix f9fb74ba6a Add Image rendering support for ImGui
- Fix alpha channel bug being set to 0
2023-07-13 21:17:42 +02:00

37 lines
741 B
C++

#pragma once
#include <memory>
#include "copium/buffer/CommandBuffer.h"
#include "copium/pipeline/DescriptorPool.h"
#include "copium/pipeline/DescriptorSet.h"
namespace Copium
{
class ImGuiInstance
{
CP_DELETE_COPY_AND_MOVE_CTOR(ImGuiInstance);
private:
std::unique_ptr<DescriptorPool> descriptorPool;
VkDescriptorSetLayout descriptorSetLayout;
std::set<ShaderBinding> shaderBindings;
public:
ImGuiInstance();
~ImGuiInstance();
void Begin();
void End();
void Render(CommandBuffer& commandBuffer);
std::unique_ptr<DescriptorSet> CreateDescriptorSet();
private:
void InitializeImGui();
void InitializeDescriptorSetLayout();
static void CheckVkResult(VkResult err);
};
}