diff options
Diffstat (limited to 'include/vk-renderer.hpp')
| -rw-r--r-- | include/vk-renderer.hpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp index 2ec9ef8..2666b64 100644 --- a/include/vk-renderer.hpp +++ b/include/vk-renderer.hpp @@ -6,9 +6,17 @@ #include "vk-api.hpp" #include "vulkan-loader.hpp" +#include "compute-renderpass.hpp" + class scene; class window; +class Texture { + public: + + image device_image; +}; + class vkrenderer { public: vkrenderer(window& wnd); @@ -17,8 +25,6 @@ class vkrenderer { void begin_frame(); - void reset_accumulation(); - void ui(); void compute(uint32_t width, uint32_t height); @@ -29,15 +35,15 @@ class vkrenderer { void update_image(image img, void* data, size_t size); + Texture* create_2d_texture(size_t width, size_t height); + + void new_renderpass(Renderpass* renderpass); + + void render(); + vkapi api; - VkDeviceAddress scene_buffer_addr; - VkDeviceAddress indices_buffer_addr; - VkDeviceAddress positions_buffer_addr; - VkDeviceAddress normals_buffer_addr; - VkDeviceAddress uvs_buffer_addr; - VkDeviceAddress bvh_buffer_addr; - VkDeviceAddress materials_buffer_addr; + std::vector<Renderpass*> renderpasses; private: @@ -48,14 +54,11 @@ class vkrenderer { uint32_t virtual_frame_index = 0; uint32_t swapchain_image_index = 0; - std::vector<image> accumulation_images; sampler ui_texture_sampler; image ui_texture; std::vector<VkCommandBuffer> command_buffers; - pipeline compute_pipeline; - buffer staging_buffer; |
