Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
graph/include/imguipass.h
2018-11-05 20:51:23 -05:00

35 lines
877 B
C++

#pragma once
#include <vulkan/vulkan.h>
#include <map>
class Renderer;
struct RenderTarget;
class ImGuiPass {
public:
ImGuiPass(Renderer& renderer);
~ImGuiPass();
void render(VkCommandBuffer commandBuffer, RenderTarget* target);
private:
void createDescriptorSetLayout();
void createPipeline();
void createFontImage();
void createBuffer(VkBuffer& buffer, VkDeviceMemory& memory, VkDeviceSize size, VkBufferUsageFlagBits bufferUsage);
VkDescriptorSetLayout setLayout_ = nullptr;
VkPipelineLayout pipelineLayout_ = nullptr;
VkPipeline pipeline_ = nullptr;
VkImage fontImage_ = nullptr;
VkDeviceMemory fontMemory_ = nullptr;
VkImageView fontImageView_ = nullptr;
VkSampler fontSampler_ = nullptr;
std::map<VkImageView, VkDescriptorSet> descriptorSets_ = {};
Renderer& renderer_;
};