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:
2014-05-19 21:51:25 +02:00
22 changed files with 473 additions and 406 deletions
+18 -17
View File
@@ -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"));
}