diff options
| author | fschildt <florian.schildt@protonmail.com> | 2025-11-24 19:55:42 +0100 |
|---|---|---|
| committer | fschildt <florian.schildt@protonmail.com> | 2025-11-24 19:55:42 +0100 |
| commit | e4584401ad865afb5a0fec8b7cab67794490a10d (patch) | |
| tree | 6e13bfdac6b2687be6f3c180132e2a57ee71891d /src/renderer/RSoftwareBackend.cpp | |
| parent | feb4bc8cbc66ba928319ddb2cc1bf48010487863 (diff) | |
rendering: refactor z-based sorting/drawing
Diffstat (limited to 'src/renderer/RSoftwareBackend.cpp')
| -rw-r--r-- | src/renderer/RSoftwareBackend.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/renderer/RSoftwareBackend.cpp b/src/renderer/RSoftwareBackend.cpp index 587ac74..f4f31f3 100644 --- a/src/renderer/RSoftwareBackend.cpp +++ b/src/renderer/RSoftwareBackend.cpp @@ -1,3 +1,4 @@ +#include "renderer/Renderer.hpp" #include <renderer/RSoftwareBackend.hpp> #include <SDL3/SDL_video.h> @@ -38,8 +39,8 @@ RSoftwareBackend::Draw() SortRenderEntities(); - for (RSortEntry sort_entry : m_renderer.m_sort_entries) { - REntity& entity = m_renderer.m_render_entities[sort_entry.entity_index]; + for (RZBuffEntry& entry : m_renderer.m_z_buff) { + REntity& entity = m_renderer.m_render_entities[entry.entity_index]; switch (entity.type) { case REntityType_Rectangle: { DrawRectangle(entity.rect); @@ -92,9 +93,9 @@ RSoftwareBackend::Resize(int32_t w, int32_t h) void RSoftwareBackend::SortRenderEntities() { - auto& sort_entries = m_renderer.m_sort_entries; - std::sort(sort_entries.begin(), sort_entries.end(), - [](const RSortEntry& e1, const RSortEntry& e2) { + auto& z_buff = m_renderer.m_z_buff; + std::sort(z_buff.begin(), z_buff.end(), + [](const RZBuffEntry& e1, const RZBuffEntry& e2) { return e1.z < e2.z; }); } |
