pleascach/Renderer/Renderer.hpp
connellpaxton 9c514b658a Fixed resizing, moved depth image to swapchain create cycle.
Also acheived (surface) format selection.
2024-01-22 13:51:19 -05:00

41 lines
760 B
C++

#pragma once
#include <memory>
#define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS
#include <vulkan/vulkan.hpp>
#include <Renderer/Swapchain.hpp>
#include <Renderer/CommandBuffer.hpp>
#include <Renderer/RenderPass.hpp>
struct Window;
/* Contains all of the Vulkan objects involved in rendering the scene */
struct Renderer {
Renderer(Window& win);
~Renderer();
void draw();
void present();
Window& win;
vk::Instance instance;
vk::Device dev;
vk::Fence render_fence;
vk::Semaphore image_wait_semaphore, render_wait_semaphore;
vk::SurfaceKHR surface;
std::unique_ptr<Swapchain> swapchain;
int queue_family;
vk::Queue queue;
std::unique_ptr<CommandBuffer> command_buffer;
std::unique_ptr<RenderPass> render_pass;
uint32_t current_image_idx;
};