1
0
Fork 0
Univerxel/src/client/render/vk/Pipeline.hpp

29 lines
741 B
C++

#pragma once
#include "forward.hpp"
namespace render::vk {
class Pipeline final {
public:
Pipeline(VkDevice, const PhysicalDeviceInfo&, const renderOptions&);
~Pipeline();
constexpr VkRenderPass getRenderPass() const { return renderPass; }
constexpr VkPipeline getPipeline() const { return graphicsPipeline; }
constexpr VkPipelineLayout getLayout() const { return pipelineLayout; }
constexpr VkDescriptorSetLayout getDescriptorSet() const { return descriptorSetLayout; }
private:
VkDevice device;
VkShaderModule vsShader;
VkShaderModule fsShader;
VkRenderPass renderPass;
VkDescriptorSetLayout descriptorSetLayout;
VkPipelineLayout pipelineLayout;
VkPipeline graphicsPipeline;
};
}