Create swapchain framebuffers
This commit is contained in:
parent
72d32fba6f
commit
b1ac87d304
@ -22,6 +22,7 @@ namespace nf::client::render {
|
||||
, m_swapchainImageFormat()
|
||||
, m_swapchainImages()
|
||||
, m_swapchainImageViews()
|
||||
, m_swapchainFramebuffers()
|
||||
, m_pipelineLayoutOutput()
|
||||
, m_pipelineOutput()
|
||||
{
|
||||
@ -359,9 +360,27 @@ namespace nf::client::render {
|
||||
|
||||
if (vkCreateGraphicsPipelines(m_device, nullptr, 1, &pipelineCI, nullptr, &m_pipelineOutput) != VK_SUCCESS)
|
||||
NFError("Could not create graphics pipeline.");
|
||||
|
||||
// TODO: For now, create swapchain framebuffers
|
||||
m_swapchainFramebuffers.resize(m_swapchainImageViews.size());
|
||||
for (int i = 0; i < m_swapchainImageViews.size(); i++) {
|
||||
VkFramebufferCreateInfo framebufferCI = { VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO };
|
||||
framebufferCI.renderPass = m_renderPassOutput;
|
||||
framebufferCI.attachmentCount = 1;
|
||||
framebufferCI.pAttachments = &m_swapchainImageViews[i];
|
||||
framebufferCI.width = m_display.width;
|
||||
framebufferCI.height = m_display.height;
|
||||
framebufferCI.layers = 1;
|
||||
|
||||
if (vkCreateFramebuffer(m_device, &framebufferCI, nullptr, &m_swapchainFramebuffers[i]) != VK_SUCCESS)
|
||||
NFError("Could not create framebuffer.");
|
||||
}
|
||||
}
|
||||
|
||||
RenderEngine::~RenderEngine() {
|
||||
for (int i = 0; i < m_swapchainFramebuffers.size(); i++)
|
||||
vkDestroyFramebuffer(m_device, m_swapchainFramebuffers[i], nullptr);
|
||||
|
||||
vkDestroyPipeline(m_device, m_pipelineOutput, nullptr);
|
||||
vkDestroyPipelineLayout(m_device, m_pipelineLayoutOutput, nullptr);
|
||||
vkDestroyRenderPass(m_device, m_renderPassOutput, nullptr);
|
||||
|
@ -36,6 +36,7 @@ namespace nf::client::render {
|
||||
VkFormat m_swapchainImageFormat;
|
||||
std::vector<VkImage> m_swapchainImages;
|
||||
std::vector<VkImageView> m_swapchainImageViews;
|
||||
std::vector<VkFramebuffer> m_swapchainFramebuffers;
|
||||
|
||||
// Pipelines
|
||||
VkPipelineLayout m_pipelineLayoutOutput;
|
||||
|
Loading…
x
Reference in New Issue
Block a user