summaryrefslogtreecommitdiff
path: root/src/vk/renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vk/renderer.cpp')
-rw-r--r--src/vk/renderer.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/vk/renderer.cpp b/src/vk/renderer.cpp
index 766690f..d4e25ba 100644
--- a/src/vk/renderer.cpp
+++ b/src/vk/renderer.cpp
@@ -146,6 +146,7 @@ Renderer::Renderer(std::vector<std::shared_ptr<View2D>> views_2d,
std::vector<std::shared_ptr<View3D>> views_3d):
skeletal_models_to_draw{cg_core.vk_swapchain->images_count},
static_models_to_draw{cg_core.vk_swapchain->images_count},
+ sprites_3d_to_draw{cg_core.vk_swapchain->images_count},
views_2d{views_2d},
views_3d{views_3d}
{
@@ -239,14 +240,19 @@ Renderer::draw()
vkCmdBeginRenderPass(
draw_command_buffer, &render_pass_begin, VK_SUBPASS_CONTENTS_INLINE);
+ }
- for(auto &view: this->views_3d)
- cg_core.vk_graphics_pipeline_3d->draw(
- view, draw_command_buffer, cg_core.vk_swapchain->current_frame,
- image_index);
+ for(auto &view: this->views_3d)
+ cg_core.vk_graphics_pipeline_3d->draw(
+ view, draw_command_buffer, cg_core.vk_swapchain->current_frame,
+ image_index);
- vkCmdEndRenderPass(draw_command_buffer);
- }
+ for(auto &view: this->views_3d)
+ cg_core.vk_graphics_pipeline_sprite_3d->draw(
+ view, draw_command_buffer, cg_core.vk_swapchain->current_frame,
+ image_index);
+
+ vkCmdEndRenderPass(draw_command_buffer);
{ // 2D render pass
VkRenderPassBeginInfo render_pass_begin{};
@@ -345,6 +351,7 @@ Renderer::draw()
{
this->skeletal_models_to_draw[next_frame].clear();
this->static_models_to_draw[next_frame].clear();
+ this->sprites_3d_to_draw[next_frame].clear();
cg_core.vk_swapchain->current_frame = next_frame;
}
}
@@ -353,6 +360,7 @@ Renderer::draw()
// Clear images for the current frame because we are skipping this frame.
this->skeletal_models_to_draw[cg_core.vk_swapchain->current_frame].clear();
this->static_models_to_draw[cg_core.vk_swapchain->current_frame].clear();
+ this->sprites_3d_to_draw[cg_core.vk_swapchain->current_frame].clear();
for(auto &view: this->views_2d)
view->sprites_to_draw[cg_core.vk_swapchain->current_frame].clear();
for(auto &view: this->views_3d)