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
@@ -6,6 +6,8 @@
#include "../task/buffer/HydraCreateUnBoundTextureTask.hpp"
#include "../task/renderer/HydraCreateCascadeShadowFrameBuffer.hpp"
#include "../task/renderer/HydraCreateShadowFrameBuffer.hpp"
#include "../task/renderer/HydraDeleteShadowFrameBufferTask.hpp"
#include "../ecs/components/HydraDirectionalShadowSourceComponent.h"
void HydraShadowBufferManager::Initialise()
{
@@ -118,17 +120,42 @@ void HydraShadowBufferManager::UpdatePointShadow(HydraID shadow_id, HydraPointSh
}
}
void HydraShadowBufferManager::RemoveDirectionalShadow(HydraID shadow_id)
void HydraShadowBufferManager::DeleteDirectionalShadow(HydraID shadow_id)
{
HydraECS* ecs = GetEngine()->ECS();
HydraTaskScheduler* task_scheduler = GetEngine()->TaskScheduler();
HydraDirectionalShadowSourceComponent shadow_comp = m_directional_shadow_buffer[shadow_id];
HydraID delete_frame_buffer_task_id = task_scheduler->CreateTask<HydraDeleteShadowFrameBufferTask>(HydraThreadAffinity::Render);
HydraDeleteShadowFrameBufferTask *fb_task = static_cast<HydraDeleteShadowFrameBufferTask *>(task_scheduler->GetTask(delete_frame_buffer_task_id));
fb_task->Initialise(shadow_comp.shadow_texture_id, shadow_comp.frame_buffer_id);
task_scheduler->WaitForTask(delete_frame_buffer_task_id);
}
void HydraShadowBufferManager::RemoveSpotShadow(HydraID shadow_id)
void HydraShadowBufferManager::DeleteSpotShadow(HydraID shadow_id)
{
HydraECS* ecs = GetEngine()->ECS();
HydraTaskScheduler* task_scheduler = GetEngine()->TaskScheduler();
HydraSpotShadowSourceComponent shadow_comp = m_spot_shadow_buffer[shadow_id];
HydraID delete_frame_buffer_task_id = task_scheduler->CreateTask<HydraDeleteShadowFrameBufferTask>(HydraThreadAffinity::Render);
HydraDeleteShadowFrameBufferTask *fb_task = static_cast<HydraDeleteShadowFrameBufferTask *>(task_scheduler->GetTask(delete_frame_buffer_task_id));
fb_task->Initialise(shadow_comp.shadow_texture_id, shadow_comp.frame_buffer_id);
task_scheduler->WaitForTask(delete_frame_buffer_task_id);
}
void HydraShadowBufferManager::RemovePointShadow(HydraID shadow_id)
void HydraShadowBufferManager::DeletePointShadow(HydraID shadow_id)
{
HydraECS* ecs = GetEngine()->ECS();
HydraTaskScheduler* task_scheduler = GetEngine()->TaskScheduler();
HydraPointShadowSourceComponent shadow_comp = m_point_shadow_buffer[shadow_id];
HydraID delete_frame_buffer_task_id = task_scheduler->CreateTask<HydraDeleteShadowFrameBufferTask>(HydraThreadAffinity::Render);
HydraDeleteShadowFrameBufferTask *fb_task = static_cast<HydraDeleteShadowFrameBufferTask *>(task_scheduler->GetTask(delete_frame_buffer_task_id));
fb_task->Initialise(shadow_comp.shadow_texture_id, shadow_comp.frame_buffer_id);
task_scheduler->WaitForTask(delete_frame_buffer_task_id);
}
void HydraShadowBufferManager::UpdateShadowBuffer()