Sphere works

This commit is contained in:
Confideo-IOM
2026-09-05 21:56:45 +01:00
parent d76df7f61b
commit ad8695b7a4
26 changed files with 142 additions and 77 deletions
@@ -35,7 +35,8 @@ void HydraPlanetActor::DeferredInitialiseComponents()
void HydraPlanetActor::_CreatePosition()
{
HydraECS *ecs = GetEngine()->ECS();
HydraPositionComponent position_component;
HydraPositionComponent position_component;
ecs->AddComponent<HydraPositionComponent>(GetID(), position_component);
}
@@ -212,9 +213,44 @@ void HydraPlanetActor::_CreateRenderableComponent()
void HydraPlanetActor::_CreateQuads()
{
uint32_t divisions = 100;
float diameter = 100000.0f;
float quad_size = 100000.0f;
float radius = diameter /2.0f;
m_quads[0] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad0 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[0]));
quad0->InitialiseQuad(1000.0f, 1000.0f, 4, glm::vec3(0,0,0));
quad0->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(0,0,radius), glm::vec3(0,0,0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[0]);
GetEngine()->ActorManager()->SetPosition(m_quads[0], glm::dvec3(0, 0 , 0));
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[0]);
m_quads[1] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad1 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[1]));
quad1->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(radius,0,0), glm::vec3(0,glm::radians(90.0f),0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[1]);
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[1]);
m_quads[2] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad2 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[2]));
quad2->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(0,0,-radius), glm::vec3(0,glm::radians(180.0f),0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[2]);
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[2]);
m_quads[3] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad3 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[3]));
quad3->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(-radius,0,0), glm::vec3(0,glm::radians(270.0f),0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[3]);
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[3]);
m_quads[4] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad4 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[4]));
quad4->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(0,radius,0), glm::vec3(glm::radians(-90.0f), 0, 0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[4]);
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[4]);
m_quads[5] = GetEngine()->ActorManager()->CreateActor<HydraPlanetQuadActor>();
HydraPlanetQuadActor* quad5 = static_cast<HydraPlanetQuadActor*>(GetEngine()->ActorManager()->GetActor(m_quads[5]));
quad5->InitialiseQuad(diameter, quad_size, divisions, glm::vec3(0,-radius,0), glm::vec3(glm::radians(90.0f), 0, 0));
GetEngine()->ActorManager()->InitialiseActor(m_quads[5]);
GetEngine()->ActorManager()->SetRelationship(GetID(), m_quads[5]);
}