Merge remote-tracking branch 'origin/deffered_rendering'

This commit is contained in:
2014-06-04 17:14:34 +02:00
5 changed files with 34 additions and 35 deletions
+10 -11
View File
@@ -91,8 +91,6 @@ void GameWorld::Initialize()
EventBroker->Publish(e); EventBroker->Publish(e);
} }
CreateTerrain();
#pragma region Wall_Debris_Template #pragma region Wall_Debris_Template
{ {
@@ -263,12 +261,14 @@ void GameWorld::Initialize()
auto shape = CreateEntity(debri); auto shape = CreateEntity(debri);
auto shapetransform = AddComponent<Components::Transform>(shape); auto shapetransform = AddComponent<Components::Transform>(shape);
auto shapemesh = AddComponent<Components::MeshShape>(shape); auto shapemesh = AddComponent<Components::MeshShape>(shape);
shapemesh->ResourceName = "Models/Wall/WallDestroyed/WallDestroyed.obj"; //Lägg in ny collision modell shapemesh->ResourceName = "Models/Wall/WallDestroyed/WallDestroyedColosion.obj";
m_WallDebrisTemplates.push_back(debri); m_WallDebrisTemplates.push_back(debri);
} }
#pragma endregion Region for wall debris #pragma endregion Region for wall debris
CreateTerrain();
/*EntityID tank1 = CreateTank(1); /*EntityID tank1 = CreateTank(1);
{ {
auto transform = GetComponent<Components::Transform>(tank1); auto transform = GetComponent<Components::Transform>(tank1);
@@ -866,7 +866,7 @@ void GameWorld::CreateTerrain()
} }
CreateBase(glm::quat(), 1); CreateBase(glm::quat(), 1);
CreateBase(glm::quat(glm::vec3(0, glm::pi<float>(), 0)), 2); //CreateBase(glm::quat(glm::vec3(0, glm::pi<float>(), 0)), 2);
{ {
auto tree = CreateEntity(); auto tree = CreateEntity();
@@ -1099,14 +1099,13 @@ void GameWorld::CreateBase(glm::quat orientation, int playerID)
#pragma endregion Terrain #pragma endregion Terrain
CreateGate(base, glm::vec3(273.f, 40.185f, 0.06f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); CreateGate(base, glm::vec3(273.f, 40.185f, 0.06f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, -55.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); CreateWall(base, glm::vec3(273.f, 40.3f, -55.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, -45.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, -45.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, -35.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, -35.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, -25.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, -25.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, -15.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, -15.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, 15.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, 15.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateWall(base, glm::vec3(273.f, 40.3f, 25.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0))); //CreateWall(base, glm::vec3(273.f, 40.3f, 25.f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)));
CreateGarage(base, glm::vec3(323.2f, 41.4f, -10.2f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)), playerID); CreateGarage(base, glm::vec3(323.2f, 41.4f, -10.2f), glm::quat(glm::vec3(0, glm::pi<float>() / 2.f, 0)), playerID);
} }
+1 -1
View File
@@ -223,7 +223,7 @@ void Model::getSimilarVertexIndex()
{ {
glm::vec3 tempNormal, tempTangent, tempBiTangent; glm::vec3 tempNormal, tempTangent, tempBiTangent;
if(glm::dot(Normals[i], Normals[t]) > 0) if(glm::dot(Normals[i], Normals[t]) > .4f)
{ {
tempNormal = Normals[i] + Normals[t]; tempNormal = Normals[i] + Normals[t];
tempTangent = TangentNormals[i] + TangentNormals[t]; tempTangent = TangentNormals[i] + TangentNormals[t];
+6 -6
View File
@@ -18,12 +18,12 @@ bool Systems::DamageSystem::OnDamage( const Events::Damage &event )
return false; return false;
auto health = m_World->GetComponent<Components::Health>(event.Entity); auto health = m_World->GetComponent<Components::Health>(event.Entity);
health->Amount -= event.Amount; health->Amount -= event.Amount;
if(health->Amount <= 0) //if(health->Amount <= 0)
{ //{
Events::OnDead e; // Events::OnDead e;
e.Entity = event.Entity; // e.Entity = event.Entity;
EventBroker->Publish(e); // EventBroker->Publish(e);
} //}
LOG_INFO("Damaged entity %i, Health left: %f", event.Entity, health->Amount); LOG_INFO("Damaged entity %i, Health left: %f", event.Entity, health->Amount);
return true; return true;
} }
+9 -10
View File
@@ -25,30 +25,29 @@ bool Systems::WallSystem::Damage( const Events::Damage &event )
{ {
return false; return false;
} }
LOG_INFO("Entity %i is dead", event.Entity);
//auto transformComponent = m_World->GetComponent<Components::Transform>(event.Entity);
LOG_INFO("You are dead"); Components::Transform transformComponent = m_World->GetSystem<Systems::TransformSystem>()->AbsoluteTransform(event.Entity);
auto transformComponent = m_World->GetComponent<Components::Transform>(event.Entity);
for(auto d : wallComponent->Walldebris) for(auto d : wallComponent->Walldebris)
{ {
auto debris = m_World->CloneEntity(d); auto debris = m_World->CloneEntity(d);
auto transform = m_World->GetComponent<Components::Transform>(debris); auto transform = m_World->GetComponent<Components::Transform>(debris);
transform->Position += transformComponent->Position; transform->Orientation = transform->Orientation * transformComponent.Orientation;
transform->Position = transform->Orientation * transform->Position + transformComponent.Position;
//DO STUFF! :D //DO STUFF! :D
float distance = glm::distance(transform->Position, transformComponent->Position); float distance = glm::distance(transform->Position, transformComponent.Position);
float radius = 5.f; float radius = 5.f;
float strength = (1.f - pow(distance / radius, 2)) * 500.f; float strength = (1.f - pow(distance / radius, 2)) * 20.f;
glm::vec3 direction = glm::normalize(transformComponent->Position - transform->Position); glm::vec3 direction = glm::normalize(transformComponent.Position - transform->Position);
Events::ApplyPointImpulse e; Events::ApplyPointImpulse e;
e.Entity = debris; e.Entity = debris;
e.Impulse = direction * strength; e.Impulse = direction * strength;
e.Position = transformComponent->Position; e.Position = transformComponent.Position;
EventBroker->Publish(e); EventBroker->Publish(e);
} }
m_World->RemoveEntity(event.Entity); m_World->RemoveEntity(event.Entity);
+1
View File
@@ -3,6 +3,7 @@
#include "System.h" #include "System.h"
#include "Systems/TransformSystem.h"
#include "Events/OnDead.h" #include "Events/OnDead.h"
#include "Events/Damage.h" #include "Events/Damage.h"
#include "Events/ApplyPointImpulse.h" #include "Events/ApplyPointImpulse.h"