aboutsummaryrefslogtreecommitdiffstats
path: root/include/vk-renderer.hpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-01-10 19:51:03 +0100
committerladevieq <ladevie.quentin@gmail.com>2021-01-10 19:51:03 +0100
commit94c1b2d414055f9a4ea203fb210666aa769d0096 (patch)
tree5bc7e359ba63c1137f5aa276fee1219924e7a0f9 /include/vk-renderer.hpp
parent78302e1982c1b7b727c95603611b19913f5c13d0 (diff)
Create xcb surface and swapchain
Diffstat (limited to 'include/vk-renderer.hpp')
-rw-r--r--include/vk-renderer.hpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp
index 37a3494..a1dda6c 100644
--- a/include/vk-renderer.hpp
+++ b/include/vk-renderer.hpp
@@ -1,12 +1,15 @@
#ifndef __VK_RENDERER_HPP_
#define __VK_RENDERER_HPP_
+#include <vector>
+
#include "vulkan-loader.hpp"
#include "thirdparty/vk_mem_alloc.h"
#include "vec3.hpp"
#include "camera.hpp"
#include "sphere.hpp"
+#include "window.hpp"
struct input_data {
color sky_color;
@@ -35,7 +38,7 @@ struct path_tracer_data {
class vkrenderer {
public:
- vkrenderer();
+ vkrenderer(window& wnd);
void compute(const input_data& inputs, size_t width, size_t height);
@@ -46,8 +49,12 @@ class vkrenderer {
void create_debugger();
+ void create_surface(window& wnd);
+
void create_device();
+ void create_swapchain(window& wnd);
+
void create_pipeline();
void create_memory_allocator();
@@ -82,6 +89,11 @@ class vkrenderer {
VkPipelineLayout compute_pipeline_layout;
VkPipeline compute_pipeline;
+ VkSurfaceKHR platform_surface;
+ VkSwapchainKHR swapchain;
+ size_t swapchain_images_count = 3;
+ std::vector<VkImage> swapchain_images;
+
struct path_tracer_data* mapped_data;
};