summaryrefslogtreecommitdiff
path: root/src/blu_cat/gra/renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/blu_cat/gra/renderer.cpp')
-rw-r--r--src/blu_cat/gra/renderer.cpp35
1 files changed, 29 insertions, 6 deletions
diff --git a/src/blu_cat/gra/renderer.cpp b/src/blu_cat/gra/renderer.cpp
index 36b9925..eb11899 100644
--- a/src/blu_cat/gra/renderer.cpp
+++ b/src/blu_cat/gra/renderer.cpp
@@ -390,7 +390,7 @@ Renderer::draw()
}
}
- vkCmdEndRenderPass(draw_command_buffer);
+ vkCmdEndRenderPass(draw_command_buffer);
{ // 2D render pass
VkRenderPassBeginInfo render_pass_begin{};
@@ -406,12 +406,29 @@ Renderer::draw()
render_pass_begin.clearValueCount = 0;
render_pass_begin.pClearValues = nullptr;
- vkCmdBeginRenderPass(
- draw_command_buffer, &render_pass_begin, VK_SUBPASS_CONTENTS_INLINE);
-
+ vkCmdBeginRenderPass(
+ draw_command_buffer, &render_pass_begin, VK_SUBPASS_CONTENTS_INLINE);
}
- { // 2D solid drawing
+ { // Set viewport
+ VkViewport vk_viewport{};
+ vk_viewport.x = 0;
+ vk_viewport.y = 0;
+ vk_viewport.width = static_cast<float>(BluCat::INT::core.display_width);
+ vk_viewport.height = static_cast<float>(BluCat::INT::core.display_height);
+ vk_viewport.minDepth = 0.0f;
+ vk_viewport.maxDepth = 1.0f;
+ vkCmdSetViewport(draw_command_buffer, 0, 1, &vk_viewport);
+
+ VkRect2D vk_scissor{};
+ vk_scissor.offset.x = 0;
+ vk_scissor.offset.y = 0;
+ vk_scissor.extent.width = BluCat::INT::core.display_width;
+ vk_scissor.extent.height = BluCat::INT::core.display_height;
+ vkCmdSetScissor(draw_command_buffer, 0, 1, &vk_scissor);
+ }
+
+ { // 2D solid drawing
BluCat::INT::core.vk_graphics_pipeline_2d_solid->draw(
draw_command_buffer, BluCat::INT::core.vk_swapchain->current_frame,
next_frame, image_index);
@@ -478,7 +495,9 @@ 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();
- BluCat::INT::core.vk_swapchain->current_frame = next_frame;
+ this->rectangles_to_draw[next_frame].clear();
+ this->sprites_to_draw[next_frame].clear();
+ BluCat::INT::core.vk_swapchain->current_frame = next_frame;
}
}
else
@@ -492,6 +511,10 @@ Renderer::draw()
BluCat::INT::core.vk_swapchain->current_frame].clear();
this->sprites_to_draw[
BluCat::INT::core.vk_swapchain->current_frame].clear();
+ this->rectangles_to_draw[
+ BluCat::INT::core.vk_swapchain->current_frame].clear();
+ this->sprites_to_draw[
+ BluCat::INT::core.vk_swapchain->current_frame].clear();
}
}