Add create framebuffer

This commit is contained in:
Jiga228
2025-09-28 18:56:12 +07:00
parent a9fa292ef9
commit 958e13c6f5
2 changed files with 28 additions and 3 deletions
+24 -2
View File
@@ -394,7 +394,7 @@ void RenderEngine::create_render_pass()
VK_CHECK(vkCreateRenderPass(device_, &render_pass_info, nullptr, &render_pass_));
}
void RenderEngine::create_graphycs_pipleline()
void RenderEngine::create_graphycs_pipeline()
{
std::ifstream vertex_shader_file("Shaders/vertex.spv", std::ios::binary);
if (!vertex_shader_file.is_open())
@@ -531,6 +531,25 @@ void RenderEngine::create_graphycs_pipleline()
vkDestroyShaderModule(device_, fragment_shader, nullptr);
}
void RenderEngine::create_framebuffers()
{
framebuffers_.resize(swapchain_images_.size());
VkFramebufferCreateInfo framebuffer_info{};
framebuffer_info.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
framebuffer_info.renderPass = render_pass_;
framebuffer_info.attachmentCount = 1;
framebuffer_info.width = swapchain_extent_.width;
framebuffer_info.height = swapchain_extent_.height;
framebuffer_info.layers = 1;
for (size_t i = 0; i < framebuffers_.size(); ++i)
{
framebuffer_info.pAttachments = &swapchain_image_views_[i];
VK_CHECK(vkCreateFramebuffer(device_, &framebuffer_info, nullptr, &framebuffers_[i]));
}
}
void RenderEngine::create_surface()
{
VK_CHECK(glfwCreateWindowSurface(instance_, window_, nullptr, &surface_));
@@ -550,11 +569,14 @@ window_(window)
create_swapchain(desired_present_mode);
create_image_views();
create_render_pass();
create_graphycs_pipleline();
create_graphycs_pipeline();
}
RenderEngine::~RenderEngine()
{
for (auto& i : framebuffers_)
vkDestroyFramebuffer(device_, i, nullptr);
if (graphycs_pipeline_ != VK_NULL_HANDLE)
vkDestroyPipeline(device_, graphycs_pipeline_, nullptr);