SimpleGL  1.1.0
A framework for platform independent rendering
graphics_pipeline.hpp
Go to the documentation of this file.
1 
8 #ifndef GRAPHICS_PIPELINE_HPP
9 #define GRAPHICS_PIPELINE_HPP
10 
11 #include <SimpleGL_vk/SimpleGL_vk_Export.h>
12 
13 #include <vector>
14 
15 #include <vulkan/vulkan.h>
16 
17 #include "render_pass.hpp"
18 #include "shader_module.hpp"
19 
20 namespace sgl {
21 
27  class SIMPLEGL_VK_EXPORT GraphicsPipeline {
28 
29  private:
31  VkPipeline handle;
32 
34  VkDescriptorSetLayout descriptorSetLayout;
35 
37  VkPipelineLayout pipelineLayout;
38 
39  public:
46  GraphicsPipeline(RenderPass* renderPass, std::vector<ShaderModule*> shaderModules);
47 
49  ~GraphicsPipeline(void);
50 
56  VkPipeline getHandle();
57 
63  VkDescriptorSetLayout getDescriptorSetLayout();
64 
70  VkPipelineLayout getPipelineLayout();
71  };
72 }
73 
74 #endif /* GRAPHICS_PIPELINE_HPP */
75 
Generic namespace for the SimpleGL framework.
Definition: application.hpp:18
This class wraps a Vulkan graphics pipeline.
This class wraps a Vulkan render pass.
Definition: render_pass.hpp:22