Merge remote-tracking branch 'origin/master' into gui
Conflicts: src/GameWorld.cpp src/InputManager.cpp src/Systems/RenderSystem.cpp vs11/Returngeance/Returngeance.vcxproj.filters
This commit is contained in:
@@ -11,26 +11,26 @@ void Systems::RenderSystem::RegisterResourceTypes(ResourceManager* rm)
|
||||
|
||||
void Systems::RenderSystem::RegisterComponents(ComponentFactory* cf)
|
||||
{
|
||||
cf->Register("Camera", []() { return new Components::Camera(); });
|
||||
cf->Register("Model", []() { return new Components::Model(); });
|
||||
cf->Register("Sprite", []() { return new Components::Sprite(); });
|
||||
cf->Register("PointLight", []() { return new Components::PointLight(); });
|
||||
cf->Register("DirectionalLight", []() { return new Components::DirectionalLight(); });
|
||||
cf->Register("Viewport", []() { return new Components::Viewport(); });
|
||||
cf->Register<Components::Camera>([]() { return new Components::Camera(); });
|
||||
cf->Register<Components::Model>([]() { return new Components::Model(); });
|
||||
cf->Register<Components::Sprite>([]() { return new Components::Sprite(); });
|
||||
cf->Register<Components::PointLight>([]() { return new Components::PointLight(); });
|
||||
cf->Register<Components::DirectionalLight>([]() { return new Components::DirectionalLight(); });
|
||||
cf->Register<Components::Viewport>([]() { return new Components::Viewport(); });
|
||||
}
|
||||
|
||||
void Systems::RenderSystem::OnEntityCommit(EntityID entity)
|
||||
{
|
||||
auto transform = m_World->GetComponent<Components::Transform>(entity, "Transform");
|
||||
auto transform = m_World->GetComponent<Components::Transform>(entity);
|
||||
|
||||
auto camera = m_World->GetComponent<Components::Camera>(entity, "Camera");
|
||||
auto camera = m_World->GetComponent<Components::Camera>(entity);
|
||||
if (transform && camera)
|
||||
{
|
||||
m_Renderer->RegisterCamera(entity, camera->FOV, camera->NearClip, camera->FarClip);
|
||||
m_Renderer->UpdateCamera(entity, m_TransformSystem->AbsolutePosition(entity), m_TransformSystem->AbsoluteOrientation(entity), camera->FOV, camera->NearClip, camera->FarClip);
|
||||
}
|
||||
|
||||
auto viewport = m_World->GetComponent<Components::Viewport>(entity, "Viewport");
|
||||
auto viewport = m_World->GetComponent<Components::Viewport>(entity);
|
||||
if (viewport)
|
||||
{
|
||||
m_Renderer->RegisterViewport(entity, viewport->Left, viewport->Top, viewport->Right, viewport->Bottom);
|
||||
@@ -43,10 +43,10 @@ void Systems::RenderSystem::OnEntityCommit(EntityID entity)
|
||||
|
||||
void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID parent)
|
||||
{
|
||||
auto transformComponent = m_World->GetComponent<Components::Transform>(entity, "Transform");
|
||||
auto transformComponent = m_World->GetComponent<Components::Transform>(entity);
|
||||
|
||||
// Draw models
|
||||
auto modelComponent = m_World->GetComponent<Components::Model>(entity, "Model");
|
||||
auto modelComponent = m_World->GetComponent<Components::Model>(entity);
|
||||
if (transformComponent&& modelComponent)
|
||||
{
|
||||
auto model = m_World->GetResourceManager()->Load<Model>("Model", modelComponent->ModelFile);
|
||||
@@ -60,7 +60,7 @@ void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
|
||||
}
|
||||
}
|
||||
|
||||
auto pointLightComponent = m_World->GetComponent<Components::PointLight>(entity, "PointLight");
|
||||
auto pointLightComponent = m_World->GetComponent<Components::PointLight>(entity);
|
||||
if (transformComponent && pointLightComponent)
|
||||
{
|
||||
glm::vec3 position = m_TransformSystem->AbsolutePosition(entity);
|
||||
@@ -75,7 +75,7 @@ void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
|
||||
);
|
||||
}
|
||||
|
||||
auto cameraComponent = m_World->GetComponent<Components::Camera>(entity, "Camera");
|
||||
auto cameraComponent = m_World->GetComponent<Components::Camera>(entity);
|
||||
if (transformComponent && cameraComponent)
|
||||
{
|
||||
m_Renderer->UpdateCamera(entity
|
||||
@@ -86,7 +86,7 @@ void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
|
||||
, cameraComponent->FarClip);
|
||||
}
|
||||
|
||||
auto viewportComponent = m_World->GetComponent<Components::Viewport>(entity, "Viewport");
|
||||
auto viewportComponent = m_World->GetComponent<Components::Viewport>(entity);
|
||||
if (viewportComponent)
|
||||
{
|
||||
if (viewportComponent->Camera != 0)
|
||||
@@ -95,13 +95,13 @@ void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
|
||||
}
|
||||
}
|
||||
|
||||
auto spriteComponent = m_World->GetComponent<Components::Sprite>(entity, "Sprite");
|
||||
auto spriteComponent = m_World->GetComponent<Components::Sprite>(entity);
|
||||
if (transformComponent && spriteComponent)
|
||||
{
|
||||
//TEMP
|
||||
Texture* texture = m_World->GetResourceManager()->Load<Texture>("Texture", spriteComponent->SpriteFile);
|
||||
//glBindTexture(GL_TEXTURE_2D, texture);
|
||||
auto transform = m_World->GetComponent<Components::Transform>(spriteComponent->Entity, "Transform");
|
||||
auto transform = m_World->GetComponent<Components::Transform>(spriteComponent->Entity);
|
||||
glm::quat orientation2D = glm::angleAxis(glm::eulerAngles(transform->Orientation).z, glm::vec3(0, 0, -1));
|
||||
m_Renderer->AddTextureToDraw(texture, transform->Position, orientation2D, transform->Scale);
|
||||
}
|
||||
@@ -109,7 +109,8 @@ void Systems::RenderSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
|
||||
|
||||
void Systems::RenderSystem::Initialize()
|
||||
{
|
||||
m_TransformSystem = m_World->GetSystem<Systems::TransformSystem>("TransformSystem");
|
||||
m_TransformSystem = m_World->GetSystem<Systems::TransformSystem>();
|
||||
|
||||
m_Renderer->SetSphereModel(m_World->GetResourceManager()->Load<Model>("Model", "Models/Placeholders/PhysicsTest/Sphere.obj"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user