Program Listing for File framebuffer.hpp¶
↰ Return to documentation for file (inexor/vulkan-renderer/wrapper/framebuffer.hpp)
#pragma once
#include <volk.h>
#include <string>
#include <vector>
namespace inexor::vulkan_renderer::wrapper::swapchains {
class Swapchain;
} // namespace inexor::vulkan_renderer::wrapper::swapchains
namespace inexor::vulkan_renderer::wrapper {
// Forward declarations
class Device;
// Using declaration
using wrapper::swapchains::Swapchain;
class Framebuffer {
const Device &m_device;
VkFramebuffer m_framebuffer{VK_NULL_HANDLE};
std::string m_name;
public:
Framebuffer(const Device &device, VkRenderPass render_pass, const std::vector<VkImageView> &attachments,
const Swapchain &swapchain, std::string name);
Framebuffer(const Framebuffer &) = delete;
Framebuffer(Framebuffer &&) noexcept;
~Framebuffer();
Framebuffer &operator=(const Framebuffer &) = delete;
Framebuffer &operator=(Framebuffer &&) = delete;
[[nodiscard]] auto framebuffer() const {
return m_framebuffer;
}
};
} // namespace inexor::vulkan_renderer::wrapper