ce52b4e12d510c84f6c38ccb3c3d3f1c77446103
[demo] / src / vulkan / renderer-vk.h
1 #ifndef RENDERER_VK_H_
2 #define RENDERER_VK_H_
3
4 #include <vector>
5 #include <vulkan/vulkan.h>
6
7 #include "renderer.h"
8 #include "vulkan/resources.h"
9
10 class RendererVK : public Renderer {
11 private:
12         VkDescriptorPool uniform_pool;
13
14         VkPipeline pipe_default;
15         std::vector<ResourceVK> default_resources;
16
17         VkPipeline pipe_morph;
18         std::vector<ResourceVK> morph_resources;
19
20         VkPipeline pipe_sky;
21         std::vector<ResourceVK> sky_resources;
22
23         bool create_default_pipeline();
24 public:
25         RendererVK();
26         ~RendererVK();
27
28         bool create() override;
29         bool create_resources();
30
31 };
32
33 #endif // RENDERER_VK_H_