Files
UwU-Engine/UwURenderEngine/RenderEngine/VkObjects/Pipeline.hpp
T

29 lines
787 B
C++

#pragma once
#include <vulkan/vulkan.h>
#include <string>
namespace VkObjects
{
class DescriptorSetLayout;
class RenderPass;
class Swapchain;
class Device;
class Pipeline
{
VkPipeline pipeline_ = nullptr;
VkPipelineLayout pipeline_layout_ = nullptr;
const Device& device_;
VkShaderModule create_shader_module(const Device& device, const std::string& code) const;
public:
Pipeline(const Device& device, const Swapchain& swapchain,
const RenderPass& render_pass, const DescriptorSetLayout& layout_binding);
~Pipeline();
inline VkPipeline get_native() const { return pipeline_; }
inline VkPipelineLayout get_layout() const { return pipeline_layout_; }
};
}