feat: add debug rendering for other types of colliders / split game into more logical functions / files

This commit is contained in:
2026-10-16 15:08:10 +02:00
parent 4c9b77c948
commit 469bb287b7
32 changed files with 42809 additions and 882 deletions
+18 -14
View File
@@ -10,6 +10,8 @@
#include "destrum/Graphics/Resources/Cubemap.h"
#include "destrum/ObjectModel/GameObject.h"
#include <scenes/MainScene.h>
class CameraComponent;
class FirstPersonController;
class LightKeeper final : public App {
@@ -26,31 +28,33 @@ public:
void customWindowsMenu() override;
private:
void drawDebugMenuBar();
void saveCurrentScene();
void loadScene();
void createEmptyScene();
void submitBoxColliderDebugLines();
void setupSkybox();
[[nodiscard]] CameraComponent* getSceneCamera() const;
[[nodiscard]] bool isPlayerViewActive() const;
// LightkeeperDebugUi.cpp
void updateDebugUi();
void drawDebugMenuBar();
void drawTestWindow();
void spawnBall();
void saveCurrentScene();
void loadScene();
void createEmptyScene();
void findPlayer();
void submitDebugDraws();
void submitColliderDebugLines();
Camera camera{glm::vec3(0.f, 0.f, -5.f), glm::vec3(0, 1, 0)};
MeshID sphereMesh;
MaterialID sphereMaterial;
ImageID texID;
std::unique_ptr<CubeMap> skyboxCubemap;
MainSceneObjects mainScene{};
GameObject* capybara = nullptr;
GameObject* m_Player = nullptr;
FirstPersonController* m_FPSController = nullptr;
ImageID debugQuadTexture{NULL_IMAGE_ID};
char scenePath[512]{"scenes/debug_scene.json"};
char newSceneName[128]{"EmptyScene"};
std::string sceneStatus;
bool renderBoxColliders{false};
bool renderColliders{false};
bool renderQuads{true};
bool renderDebugLines{true};
bool showTestWindow{true};