Add create framebuffer
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user