diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-02-19 23:23:41 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-02-19 23:23:41 +0100 |
| commit | 45783d96ec6f84893c85789ff5e5e2243e7f3db9 (patch) | |
| tree | 28d10972594a325d3cdd9171b3533bc921dd2fba /include | |
| parent | 14a79645579d6f4a9e541915017976619f24ecfb (diff) | |
Attempt at rendering imgui content
Diffstat (limited to 'include')
| -rw-r--r-- | include/vk-api.hpp | 10 | ||||
| -rw-r--r-- | include/vk-renderer.hpp | 13 |
2 files changed, 20 insertions, 3 deletions
diff --git a/include/vk-api.hpp b/include/vk-api.hpp index 999b59e..4353064 100644 --- a/include/vk-api.hpp +++ b/include/vk-api.hpp @@ -69,12 +69,18 @@ class vkapi { std::vector<VkCommandBuffer> create_command_buffers(size_t command_buffers_count); void destroy_command_buffers(std::vector<VkCommandBuffer> &command_buffers); - VkRenderPass create_render_pass(std::vector<VkFormat>& attachments_format); + VkRenderPass create_render_pass(std::vector<VkFormat>& color_attachments_format); + VkRenderPass create_render_pass(std::vector<VkFormat>& color_attachments_format, VkFormat depth_attachement_format); void destroy_renderpass(VkRenderPass render_pass); + VkFramebuffer create_framebuffer(VkRenderPass render_pass, std::vector<Image>& images, VkExtent2D size); + std::vector<VkFramebuffer> create_framebuffers(VkRenderPass render_pass, std::vector<Image>& images, VkExtent2D size, uint32_t framebuffer_count); + void destroy_framebuffer(VkFramebuffer framebuffer); + void destroy_framebuffers(std::vector<VkFramebuffer>& framebuffers); + Pipeline create_compute_pipeline(const char* shader_name, std::vector<VkDescriptorSetLayoutBinding> bindings); - Pipeline create_graphics_pipeline(const char* shader_name, VkShaderStageFlagBits shader_stages, std::vector<VkDescriptorSetLayoutBinding> bindings, VkRenderPass render_pass, uint32_t subpass); + Pipeline create_graphics_pipeline(const char* shader_name, std::vector<VkDescriptorSetLayoutBinding> bindings, VkShaderStageFlagBits shader_stages, VkRenderPass render_pass); void destroy_pipeline(Pipeline &pipeline); diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp index acbf0c9..a0edf39 100644 --- a/include/vk-renderer.hpp +++ b/include/vk-renderer.hpp @@ -15,10 +15,14 @@ class vkrenderer { ~vkrenderer(); + void begin_frame(); + void ui(); void compute(uint32_t width, uint32_t height, bool clear); + void finish_frame(); + void recreate_swapchain(); Buffer compute_shader_buffer; @@ -30,15 +34,22 @@ class vkrenderer { vkapi api; uint64_t frame_index = 0; + uint32_t swapchain_image_index = 0; std::vector<Image> accumulation_images; std::vector<VkCommandBuffer> command_buffers; std::vector<VkDescriptorSet> compute_shader_sets; - Pipeline compute_pipeline; + std::vector<Buffer> ui_vertex_buffers; + std::vector<Buffer> ui_index_buffers; + std::vector<VkDescriptorSet> ui_sets; + Pipeline ui_pipeline; + VkRenderPass render_pass; + std::vector<VkFramebuffer> framebuffers; + std::vector<VkFence> submission_fences; std::vector<VkSemaphore> execution_semaphores; std::vector<VkSemaphore> acquire_semaphores; |
