feat: add 2D rendering pipeline
This commit is contained in:
@@ -34,6 +34,8 @@ private:
|
||||
MeshID sphereMesh;
|
||||
MaterialID sphereMaterial;
|
||||
|
||||
ImageID texID;
|
||||
|
||||
std::unique_ptr<CubeMap> skyboxCubemap;
|
||||
|
||||
GameObject* capybara = nullptr;
|
||||
@@ -42,6 +44,8 @@ private:
|
||||
char newSceneName[128]{"EmptyScene"};
|
||||
std::string sceneStatus;
|
||||
bool renderBoxColliders{false};
|
||||
bool renderQuads{true};
|
||||
bool renderDebugLines{true};
|
||||
};
|
||||
|
||||
#endif //LIGHTKEEPER_H
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#include "Lightkeeper.h"
|
||||
|
||||
#include <array>
|
||||
#include <cmath>
|
||||
#include <destrum/FS/AssetFS.h>
|
||||
#include <destrum/Assets/AssetManager.h>
|
||||
#include <destrum/Graphics/Managers/LineRenderingManager.h>
|
||||
#include <destrum/Graphics/Managers/QuadRenderingManager.h>
|
||||
#include "glm/gtx/transform.hpp"
|
||||
#include "spdlog/spdlog.h"
|
||||
#include <destrum/Components/Physics/Rigidbody.h>
|
||||
@@ -444,6 +446,8 @@ void LightKeeper::customInit()
|
||||
triggerObj->AddComponent<TriggerLoggerComponent>();
|
||||
triggerObj->GetTransform().SetWorldPosition({0.0f, 0.0f, 0.0f});
|
||||
|
||||
const auto texPath = AssetFS::GetInstance().GetFullPath("engine://textures/kobe.png");
|
||||
texID = resources.loadImageFromFile(gfxDevice, texPath);
|
||||
|
||||
}
|
||||
|
||||
@@ -487,6 +491,7 @@ void LightKeeper::customUpdate(float dt)
|
||||
}
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void LightKeeper::drawDebugMenuBar()
|
||||
@@ -526,6 +531,8 @@ void LightKeeper::drawDebugMenuBar()
|
||||
|
||||
if (ImGui::BeginMenu("Render")) {
|
||||
ImGui::MenuItem("Box Colliders", nullptr, &renderBoxColliders);
|
||||
ImGui::MenuItem("2D Quads", nullptr, &renderQuads);
|
||||
ImGui::MenuItem("Debug Lines", nullptr, &renderDebugLines);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
@@ -660,6 +667,10 @@ void LightKeeper::customDraw()
|
||||
renderer.beginDrawing(gfxDevice);
|
||||
submitBoxColliderDebugLines();
|
||||
|
||||
QuadRenderingManager::GetInstance().SubmitQuad(
|
||||
glm::vec2{100.0f, 100.0f}, glm::vec2{200.0f, 200.0f}, 0.0f,
|
||||
glm::vec4{1.0f}, texID);
|
||||
|
||||
const RenderContext ctx{
|
||||
.renderer = renderer,
|
||||
.camera = camera,
|
||||
|
||||
Reference in New Issue
Block a user