aboutsummaryrefslogtreecommitdiffstats
path: root/include/vk-renderer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/vk-renderer.hpp')
-rw-r--r--include/vk-renderer.hpp27
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;