From 45783d96ec6f84893c85789ff5e5e2243e7f3db9 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Fri, 19 Feb 2021 23:23:41 +0100 Subject: Attempt at rendering imgui content --- include/vk-api.hpp | 10 ++++++++-- include/vk-renderer.hpp | 13 ++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) (limited to 'include') 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 create_command_buffers(size_t command_buffers_count); void destroy_command_buffers(std::vector &command_buffers); - VkRenderPass create_render_pass(std::vector& attachments_format); + VkRenderPass create_render_pass(std::vector& color_attachments_format); + VkRenderPass create_render_pass(std::vector& color_attachments_format, VkFormat depth_attachement_format); void destroy_renderpass(VkRenderPass render_pass); + VkFramebuffer create_framebuffer(VkRenderPass render_pass, std::vector& images, VkExtent2D size); + std::vector create_framebuffers(VkRenderPass render_pass, std::vector& images, VkExtent2D size, uint32_t framebuffer_count); + void destroy_framebuffer(VkFramebuffer framebuffer); + void destroy_framebuffers(std::vector& framebuffers); + Pipeline create_compute_pipeline(const char* shader_name, std::vector bindings); - Pipeline create_graphics_pipeline(const char* shader_name, VkShaderStageFlagBits shader_stages, std::vector bindings, VkRenderPass render_pass, uint32_t subpass); + Pipeline create_graphics_pipeline(const char* shader_name, std::vector 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 accumulation_images; std::vector command_buffers; std::vector compute_shader_sets; - Pipeline compute_pipeline; + std::vector ui_vertex_buffers; + std::vector ui_index_buffers; + std::vector ui_sets; + Pipeline ui_pipeline; + VkRenderPass render_pass; + std::vector framebuffers; + std::vector submission_fences; std::vector execution_semaphores; std::vector acquire_semaphores; -- cgit v1.3