8 vk::RenderPass render_pass,
9 const std::vector<vk::ImageView>& attachments,
15 if (attachments.empty()) {
17 "Cannot create framebuffer with no attachments");
21 if (width == 0 || height == 0) {
23 "Cannot create framebuffer with zero dimensions ({}x{})", width, height);
31 vk::FramebufferCreateInfo framebuffer_info {};
32 framebuffer_info.renderPass = render_pass;
33 framebuffer_info.attachmentCount =
static_cast<uint32_t
>(attachments.size());
34 framebuffer_info.pAttachments = attachments.data();
35 framebuffer_info.width = width;
36 framebuffer_info.height = height;
37 framebuffer_info.layers = layers;
43 "Framebuffer created ({}x{}, {} attachments)",
44 width, height, attachments.size());
47 }
catch (
const vk::SystemError& e) {
49 "Failed to create framebuffer: {}", e.what());
bool create(vk::Device device, vk::RenderPass render_pass, const std::vector< vk::ImageView > &attachments, uint32_t width, uint32_t height, uint32_t layers=1)
Create framebuffer.