SimpleGL  1.1.0
A framework for platform independent rendering
descriptor_set.hpp
Go to the documentation of this file.
1 
8 #ifndef DESCRIPTOR_SET_HPP
9 #define DESCRIPTOR_SET_HPP
10 
11 #include <SimpleGL_vk/SimpleGL_vk_Export.h>
12 
13 #include <vector>
14 
15 #include <vulkan/vulkan.h>
16 
17 #include <glm/glm.hpp>
18 
19 #include "graphics_pipeline.hpp"
20 #include "vertex_buffer.hpp"
21 #include "texture_image.hpp"
22 
23 namespace sgl {
24 
30  class SIMPLEGL_VK_EXPORT DescriptorPool {
31 
32  private:
34  VkDescriptorPool handle;
35 
36  public:
38  DescriptorPool(void);
39 
41  ~DescriptorPool(void);
42 
48  VkDescriptorPool getHandle();
49  };
50 
56  class SIMPLEGL_VK_EXPORT DescriptorSet {
57 
58  private:
60  VkDescriptorSet handle;
61 
62  public:
68  DescriptorSet(GraphicsPipeline* graphicsPipeline);
69 
71  ~DescriptorSet(void);
72 
78  VkDescriptorSet getHandle();
79 
86  void update(UniformBuffer* uniformBuffer, std::vector<glm::mat2> data);
87 
94  void update(UniformBuffer* uniformBuffer, std::vector<glm::mat3> data);
95 
102  void update(UniformBuffer* uniformBuffer, std::vector<glm::mat4> data);
103 
109  void update(TextureImage* textureImage);
110  };
111 }
112 
113 #endif /* DESCRIPTOR_SET_HPP */
This class wraps a Vulkan descriptor pool.
Generic namespace for the SimpleGL framework.
Definition: application.hpp:18
This class wraps a Vulkan texture image.
This class wraps a Vulkan descriptor set.
This class wraps a Vulkan graphics pipeline.
This class wraps a Vulkan uniform buffer.