Cleaning up shutdown
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user