shadow start

This commit is contained in:
Confideo-IOM
2026-07-25 16:40:34 +01:00
parent 3be84d07de
commit 3810f74e81
43 changed files with 316 additions and 127 deletions
+12 -1
View File
@@ -20,13 +20,14 @@
#include "../ecs/systems/HydraRenderSystem.h"
#include "../ecs/systems/HydraMaterialSystem.h"
#include "../ecs/systems/HydraLightSystem.h"
#include "../ecs/systems/HydraShadowSourceSystem.h"
#include "../ecs/components/HydraPositionComponent.h"
#include "../ecs/components/HydraMeshComponent.h"
#include "../ecs/components/HydraRenderableComponent.h"
#include "../ecs/components/HydraTextureComponent.h"
#include "../ecs/components/HydraMaterialComponent.h"
#include "../ecs/components/HydraLightComponent.h"
#include "../ecs/components/HydraShadowSourceComponent.h"
#include "../camera/HydraCamera.h"
@@ -210,24 +211,34 @@ void HydraEngine::_InitialiseSystems()
m_ecs->RegisterComponentType<HydraTextureComponent>();
m_ecs->RegisterComponentType<HydraMaterialComponent>();
m_ecs->RegisterComponentType<HydraLightComponent>();
m_ecs->RegisterComponentType<HydraShadowSourceComponent>();
m_mesh_system = m_ecs->RegisterSystem<HydraMeshSystem>();
m_transform_system = m_ecs->RegisterSystem<HydraTransformSystem>();
m_render_system = m_ecs->RegisterSystem<HydraRenderSystem>();
m_material_system = m_ecs->RegisterSystem<HydraMaterialSystem>();
m_light_system = m_ecs->RegisterSystem<HydraLightSystem>();
m_shadow_system = m_ecs->RegisterSystem<HydraShadowSourceSystem>();
HydraSignature mesh_sig;
HydraSignature trans_sig;
HydraSignature render_sig;
HydraSignature material_sig;
HydraSignature light_sig;
HydraSignature shadow_sig;
mesh_sig.set(m_ecs->GetComponentType<HydraMeshComponent>(),true);
trans_sig.set(m_ecs->GetComponentType<HydraPositionComponent>(),true);
render_sig.set(m_ecs->GetComponentType<HydraRenderableComponent>(),true);
material_sig.set(m_ecs->GetComponentType<HydraMaterialComponent>(),true);
light_sig.set(m_ecs->GetComponentType<HydraLightComponent>(), true);
light_sig.set(m_ecs->GetComponentType<HydraPositionComponent>(), true);
shadow_sig.set(m_ecs->GetComponentType<HydraLightComponent>(), true);
shadow_sig.set(m_ecs->GetComponentType<HydraPositionComponent>(), true);
shadow_sig.set(m_ecs->GetComponentType<HydraShadowSourceComponent>(), true);
m_ecs->SetSystemSignature<HydraMeshSystem>(mesh_sig);
m_ecs->SetSystemSignature<HydraTransformSystem>(trans_sig);