Cleaning up shutdown

This commit is contained in:
Confideo-IOM
2026-08-17 21:44:00 +01:00
parent 139fb149b2
commit 282243a16b
89 changed files with 2112 additions and 855 deletions
@@ -15,6 +15,7 @@
#include "../../task/buffer/HydraUpdateWholeGPUBufferTask.hpp"
#include "../../task/buffer/HydraUpdatePartialGPUBufferTask.hpp"
#include "../../task/buffer/HydraCreateUnBoundTextureTask.hpp"
#include "../../task/buffer/HydraDeleteTextureTask.hpp"
#include "../../task/renderer/HydraCreateCascadeShadowFrameBuffer.hpp"
#include "../../task/renderer/HydraCreateShadowFrameBuffer.hpp"
#include "../../actor/HydraActorManager.h"
@@ -42,10 +43,15 @@ void HydraDirectionalShadowSourceSystem::InitialiseComponent(HydraID entity_id)
light_comp.shadow_caster = 1;
shadow_comp.shadow_id = shadow_id;
_InitialiseShadowMap(entity_id);
}
// m_shadow_actor_id = GetEngine()->ActorManager()->CreateActor<HydraTestCubeActor>();
// GetEngine()->ActorManager()->InitialiseActor(m_shadow_actor_id);
// GetEngine()->ActorManager()->SetPosition(m_shadow_actor_id, glm::dvec3(0, 0, 0));
void HydraDirectionalShadowSourceSystem::DestroyComponent(HydraID entity_id)
{
HydraEngine *engine = GetEngine();
HydraECS *ecs = engine->ECS();
HydraDirectionalShadowSourceComponent& shadow_comp = ecs->GetComponent<HydraDirectionalShadowSourceComponent>(entity_id);
GetEngine()->ShadowBufferManager()->DeleteDirectionalShadow(shadow_comp.shadow_id);
}
void HydraDirectionalShadowSourceSystem::UpdateSystem(float delta_t_seconds)
@@ -119,7 +125,7 @@ void HydraDirectionalShadowSourceSystem::_InitialiseShadowMap(HydraID entity_id)
uint32_t depth_texture_id = 0;
HydraID create_framebuffer_task_id = task_scheduler->CreateTask<HydraCreateCascadeShadowFrameBuffer>(HydraThreadAffinity::Render);
HydraCreateCascadeShadowFrameBuffer *fb_task = static_cast<HydraCreateCascadeShadowFrameBuffer *>(task_scheduler->GetTask(create_framebuffer_task_id));
fb_task->Initialise(&shad_comp.shadow_texture_id, &depth_texture_id, &shad_comp.frame_buffer_id);
fb_task->Initialise(&depth_texture_id, &shad_comp.frame_buffer_id);
task_scheduler->WaitForTask(create_framebuffer_task_id);
shad_comp.shadow_texture_id = depth_texture_id;