feat: revamp 2D pipeline to use SDF's for rendering

This commit is contained in:
2026-10-16 23:23:26 +02:00
parent 469bb287b7
commit faba4171ec
19 changed files with 676 additions and 502 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ void LightKeeper::customInit()
auto& scene = SceneManager::GetInstance().CreateScene("Main");
mainScene = BuildMainScene(scene, gfxDevice, resources);
debugQuadTexture = resources.loadImageFromFile(
debug2DTexture = resources.loadImageFromFile(
gfxDevice, AssetFS::GetInstance().GetFullPath("engine://textures/kobe.png"));
}
+2 -8
View File
@@ -7,7 +7,7 @@
#include <destrum/Components/Physics/SphereCollider.h>
#include <destrum/FS/AssetFS.h>
#include <destrum/Graphics/Managers/LineRenderingManager.h>
#include <destrum/Graphics/Managers/QuadRenderingManager.h>
#include <destrum/Graphics/Managers/Renderer2D.h>
#include <destrum/Input/InputManager.h>
#include <destrum/Scene/Scene.h>
#include <destrum/Serialization/SceneSerializer.h>
@@ -127,7 +127,7 @@ void LightKeeper::drawDebugMenuBar()
if (ImGui::BeginMenu("Render")) {
ImGui::MenuItem("Colliders", nullptr, &renderColliders);
ImGui::MenuItem("2D Quads", nullptr, &renderQuads);
ImGui::MenuItem("2D Shapes", nullptr, &render2DShapes);
ImGui::MenuItem("Debug Lines", nullptr, &renderDebugLines);
bool lightHeatmap = renderer.getRenderLightHeatmap();
@@ -246,12 +246,6 @@ void LightKeeper::submitDebugDraws()
if (renderDebugLines) {
LineRenderingManager::GetInstance().SubmitLine({0, 0, 0}, {0, 10, 0}, {255, 0, 0, 255});
}
if (renderQuads && debugQuadTexture != NULL_IMAGE_ID) {
QuadRenderingManager::GetInstance().SubmitQuad(
glm::vec2{100.0f, 100.0f}, glm::vec2{200.0f, 200.0f}, 0.0f,
glm::vec4{1.0f}, debugQuadTexture);
}
}
// Triggers orange, then colored by body type: static blue, dynamic green, kinematic purple