fixing things

This commit is contained in:
2025-01-07 01:20:26 +01:00
parent 3683a48e17
commit 1f482719e6
21 changed files with 242 additions and 199 deletions

View File

@@ -100,9 +100,9 @@ namespace mlx
for(auto& drawable : drawables)
{
// Check every textures and update modified ones to GPU before starting the render pass
drawable->Update(cmd);
if(!drawable->IsSetInit())
drawable->UpdateDescriptorSet(p_texture_set);
drawable->Update(cmd);
}
m_pipeline.BindPipeline(cmd, 0, {});

View File

@@ -21,6 +21,7 @@ namespace mlx
void RenderPasses::Pass(Scene& scene, Renderer& renderer, const Vec4f& clear_color)
{
bool force_render = false;
if(!m_main_render_texture.IsInit())
{
VkExtent2D extent;
@@ -34,11 +35,15 @@ namespace mlx
m_main_render_texture.Init({}, extent.width, extent.height, VK_FORMAT_R8G8B8A8_UNORM, false, {});
#endif
m_main_render_texture.TransitionLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
force_render = true;
}
if(scene.HasSceneChanged() || force_render)
{
m_main_render_texture.Clear(renderer.GetActiveCommandBuffer(), clear_color);
m_2Dpass.Pass(scene, renderer, m_main_render_texture);
}
m_main_render_texture.Clear(renderer.GetActiveCommandBuffer(), clear_color);
m_2Dpass.Pass(scene, renderer, m_main_render_texture);
m_final.Pass(scene, renderer, m_main_render_texture, p_render_target);
scene.ResetChangeChecker();
}
void RenderPasses::Destroy()