diff --git a/include/Engine/Rendering/DrawScenePass.h b/include/Engine/Rendering/DrawScenePass.h
index 516759f2..ec82eed9 100644
--- a/include/Engine/Rendering/DrawScenePass.h
+++ b/include/Engine/Rendering/DrawScenePass.h
@@ -31,7 +31,7 @@ private:
ShaderProgram* m_BasicForwardProgram;
- ShaderProgram* m_CoolDeathAnimProgram;
+ ShaderProgram* m_ExplosionEffectProgram;
};
#endif
\ No newline at end of file
diff --git a/include/Engine/Rendering/RenderQueue.h b/include/Engine/Rendering/RenderQueue.h
index 3267a3cf..dda57855 100644
--- a/include/Engine/Rendering/RenderQueue.h
+++ b/include/Engine/Rendering/RenderQueue.h
@@ -64,7 +64,7 @@ struct ModelJob : RenderJob
};
// Cool Death Animation
-struct CoolDeathAnimationJob : ModelJob
+struct ExplosionEffectJob : ModelJob
{
glm::vec3 ExplosionOrigin;
double TimeSinceDeath = 0.f; //Seconds
diff --git a/include/Engine/Rendering/RenderQueueFactory.h b/include/Engine/Rendering/RenderQueueFactory.h
index e1a3507a..5b5b0c73 100644
--- a/include/Engine/Rendering/RenderQueueFactory.h
+++ b/include/Engine/Rendering/RenderQueueFactory.h
@@ -25,7 +25,7 @@ private:
void FillModels(World* world, RenderQueue* renderQueue);
void FillLights(World* world, RenderQueue* renderQueue);
- void FillCoolDeathAnim(World* world, RenderQueue* renderQueue);
+ void FillExplosionEffect(World* world, RenderQueue* renderQueue);
glm::mat4 ModelMatrix(World* world, EntityID entity);
};
diff --git a/include/Engine/Rendering/Renderer.h b/include/Engine/Rendering/Renderer.h
index 476ac9f9..4f7f98a5 100644
--- a/include/Engine/Rendering/Renderer.h
+++ b/include/Engine/Rendering/Renderer.h
@@ -119,7 +119,7 @@ private:
ShaderProgram* m_CalculateFrustumProgram;
ShaderProgram* m_LightCullProgram;
- ShaderProgram* m_CoolDeathAnimProgram;
+ ShaderProgram* m_ExplosionEffectProgram;
};
diff --git a/include/Game/CoolDeathAnimationSystem.h b/include/Game/ExplosionEffectSystem.h
similarity index 75%
rename from include/Game/CoolDeathAnimationSystem.h
rename to include/Game/ExplosionEffectSystem.h
index e20c23c5..ed411d39 100644
--- a/include/Game/CoolDeathAnimationSystem.h
+++ b/include/Game/ExplosionEffectSystem.h
@@ -1,16 +1,16 @@
#include "Common.h"
#include "Core/System.h"
-class CoolDeathAnimationSystem : public PureSystem
+class ExplosionEffectSystem : public PureSystem
{
public:
- CoolDeathAnimationSystem(EventBroker* eventBroker)
- : PureSystem(eventBroker, "CoolDeathAnim")
+ ExplosionEffectSystem(EventBroker* eventBroker)
+ : PureSystem(eventBroker, "ExplosionEffect")
{ }
virtual void UpdateComponent(World* world, ComponentWrapper& object, double dt) override
{
- ComponentWrapper& Component = world->GetComponent(object.EntityID, "CoolDeathAnim");
+ ComponentWrapper& Component = world->GetComponent(object.EntityID, "ExplosionEffect");
if ((double)Component["TimeSinceDeath"] > (double)Component["ExplosionDuration"]) {
(double)Component["TimeSinceDeath"] = 0.f;
diff --git a/include/Game/Game.h b/include/Game/Game.h
index 900b7aec..96ab3e0e 100644
--- a/include/Game/Game.h
+++ b/include/Game/Game.h
@@ -16,7 +16,7 @@
#include "Core/EntityXMLFile.h"
#include "Core/SystemPipeline.h"
#include "RaptorCopterSystem.h"
-#include "CoolDeathAnimationSystem.h"
+#include "ExplosionEffectSystem.h"
#include "PlayerSystem.h"
#include "Editor/EditorSystem.h"
diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd
index f95937ee..50c1fb2e 100644
--- a/resources/Schema/Components.xsd
+++ b/resources/Schema/Components.xsd
@@ -8,5 +8,5 @@
-
+
\ No newline at end of file
diff --git a/resources/Schema/Components/CoolDeathAnim.xml b/resources/Schema/Components/ExplosionEffect.xml
similarity index 92%
rename from resources/Schema/Components/CoolDeathAnim.xml
rename to resources/Schema/Components/ExplosionEffect.xml
index 4f48b3e1..4b414944 100644
--- a/resources/Schema/Components/CoolDeathAnim.xml
+++ b/resources/Schema/Components/ExplosionEffect.xml
@@ -1,4 +1,4 @@
-
+
0
2
@@ -13,4 +13,4 @@
0
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/Schema/Components/CoolDeathAnim.xsd b/resources/Schema/Components/ExplosionEffect.xsd
similarity index 98%
rename from resources/Schema/Components/CoolDeathAnim.xsd
rename to resources/Schema/Components/ExplosionEffect.xsd
index c50b0e53..cdde5e52 100644
--- a/resources/Schema/Components/CoolDeathAnim.xsd
+++ b/resources/Schema/Components/ExplosionEffect.xsd
@@ -3,7 +3,7 @@
-
+
A component that trigger the death effect
diff --git a/resources/Schema/Entities/Test.xml b/resources/Schema/Entities/Test.xml
index 33a82f27..ee7fc7b0 100644
--- a/resources/Schema/Entities/Test.xml
+++ b/resources/Schema/Entities/Test.xml
@@ -72,7 +72,7 @@
Models/Core/UnitRaptor.obj
-
+
0
2
@@ -87,7 +87,7 @@
0
-
+
diff --git a/resources/Shaders/CoolDeathAnim.frag.glsl b/resources/Shaders/ExplosionEffect.frag.glsl
similarity index 100%
rename from resources/Shaders/CoolDeathAnim.frag.glsl
rename to resources/Shaders/ExplosionEffect.frag.glsl
diff --git a/resources/Shaders/CoolDeathAnim.geom.glsl b/resources/Shaders/ExplosionEffect.geom.glsl
similarity index 100%
rename from resources/Shaders/CoolDeathAnim.geom.glsl
rename to resources/Shaders/ExplosionEffect.geom.glsl
diff --git a/resources/Shaders/CoolDeathAnim.vert.glsl b/resources/Shaders/ExplosionEffect.vert.glsl
similarity index 100%
rename from resources/Shaders/CoolDeathAnim.vert.glsl
rename to resources/Shaders/ExplosionEffect.vert.glsl
diff --git a/src/Engine/Rendering/DrawScenePass.cpp b/src/Engine/Rendering/DrawScenePass.cpp
index ef14e695..152e71f4 100644
--- a/src/Engine/Rendering/DrawScenePass.cpp
+++ b/src/Engine/Rendering/DrawScenePass.cpp
@@ -21,12 +21,12 @@ void DrawScenePass::InitializeShaderPrograms()
m_BasicForwardProgram->Compile();
m_BasicForwardProgram->Link();
- m_CoolDeathAnimProgram = ResourceManager::Load("#CoolDeathAnimProgram");
- m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new VertexShader("Shaders/CoolDeathAnim.vert.glsl")));
- m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new GeometryShader("Shaders/CoolDeathAnim.geom.glsl")));
- m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new FragmentShader("Shaders/CoolDeathAnim.frag.glsl")));
- m_CoolDeathAnimProgram->Compile();
- m_CoolDeathAnimProgram->Link();
+ m_ExplosionEffectProgram = ResourceManager::Load("#ExplosionEffectProgram");
+ m_ExplosionEffectProgram->AddShader(std::shared_ptr(new VertexShader("Shaders/ExplosionEffect.vert.glsl")));
+ m_ExplosionEffectProgram->AddShader(std::shared_ptr(new GeometryShader("Shaders/ExplosionEffect.geom.glsl")));
+ m_ExplosionEffectProgram->AddShader(std::shared_ptr(new FragmentShader("Shaders/ExplosionEffect.frag.glsl")));
+ m_ExplosionEffectProgram->Compile();
+ m_ExplosionEffectProgram->Link();
}
@@ -41,46 +41,46 @@ void DrawScenePass::Draw(RenderQueueCollection& rq)
//TODO: Render: Add code for more jobs than modeljobs.
for (auto &job : rq.Forward) {
- auto coolDeathAnimationJob = std::dynamic_pointer_cast(job);
- if (coolDeathAnimationJob) {
- GLuint ShaderHandle = m_CoolDeathAnimProgram->GetHandle(); //---
+ auto explosionEffectJob = std::dynamic_pointer_cast(job);
+ if (explosionEffectJob) {
+ GLuint ShaderHandle = m_ExplosionEffectProgram->GetHandle(); //---
- m_CoolDeathAnimProgram->Bind();
+ m_ExplosionEffectProgram->Bind();
//TODO: Kolla upp "header/include/common" shader saken så man slipper skicka in asmycket uniforms
- glUniformMatrix4fv(glGetUniformLocation(ShaderHandle, "M"), 1, GL_FALSE, glm::value_ptr(coolDeathAnimationJob->ModelMatrix));
+ glUniformMatrix4fv(glGetUniformLocation(ShaderHandle, "M"), 1, GL_FALSE, glm::value_ptr(explosionEffectJob->ModelMatrix));
glUniformMatrix4fv(glGetUniformLocation(ShaderHandle, "V"), 1, GL_FALSE, glm::value_ptr(m_Renderer->Camera()->ViewMatrix()));
glUniformMatrix4fv(glGetUniformLocation(ShaderHandle, "P"), 1, GL_FALSE, glm::value_ptr(m_Renderer->Camera()->ProjectionMatrix()));
- glUniform4fv(glGetUniformLocation(ShaderHandle, "Color"), 1, glm::value_ptr(coolDeathAnimationJob->Color));
- glUniform3fv(glGetUniformLocation(ShaderHandle, "ExplosionOrigin"), 1, glm::value_ptr(coolDeathAnimationJob->ExplosionOrigin));
- glUniform1f(glGetUniformLocation(ShaderHandle, "TimeSinceDeath"), coolDeathAnimationJob->TimeSinceDeath);
- glUniform1f(glGetUniformLocation(ShaderHandle, "ExplosionDuration"), coolDeathAnimationJob->ExplosionDuration);
- //glUniform1i(glGetUniformLocation(ShaderHandle, "Gravity"), coolDeathAnimationJob->Gravity);
- //glUniform1f(glGetUniformLocation(ShaderHandle, "GravityForce"), coolDeathAnimationJob->GravityForce);
- //glUniform1f(glGetUniformLocation(ShaderHandle, "ObjectRadius"), coolDeathAnimationJob->ObjectRadius);
- glUniform4fv(glGetUniformLocation(ShaderHandle, "EndColor"), 1, glm::value_ptr(coolDeathAnimationJob->EndColor));
- glUniform1i(glGetUniformLocation(ShaderHandle, "Randomness"), coolDeathAnimationJob->Randomness);
- glUniform1fv(glGetUniformLocation(ShaderHandle, "RandomNumbers"), 20, coolDeathAnimationJob->RandomNumbers.data());
- glUniform1f(glGetUniformLocation(ShaderHandle, "RandomnessScalar"), coolDeathAnimationJob->RandomnessScalar);
- glUniform2fv(glGetUniformLocation(ShaderHandle, "Velocity"), 1, glm::value_ptr(coolDeathAnimationJob->Velocity));
- glUniform1i(glGetUniformLocation(ShaderHandle, "ColorByDistance"), coolDeathAnimationJob->ColorByDistance);
- //glUniform1i(glGetUniformLocation(ShaderHandle, "ReverseAnimation"), coolDeathAnimationJob->ReverseAnimation);
- //glUniform1i(glGetUniformLocation(ShaderHandle, "Wireframe"), coolDeathAnimationJob->Wireframe);
- glUniform1i(glGetUniformLocation(ShaderHandle, "ExponentialAccelaration"), coolDeathAnimationJob->ExponentialAccelaration);
+ glUniform4fv(glGetUniformLocation(ShaderHandle, "Color"), 1, glm::value_ptr(explosionEffectJob->Color));
+ glUniform3fv(glGetUniformLocation(ShaderHandle, "ExplosionOrigin"), 1, glm::value_ptr(explosionEffectJob->ExplosionOrigin));
+ glUniform1f(glGetUniformLocation(ShaderHandle, "TimeSinceDeath"), explosionEffectJob->TimeSinceDeath);
+ glUniform1f(glGetUniformLocation(ShaderHandle, "ExplosionDuration"), explosionEffectJob->ExplosionDuration);
+ //glUniform1i(glGetUniformLocation(ShaderHandle, "Gravity"), explosionEffectJob->Gravity);
+ //glUniform1f(glGetUniformLocation(ShaderHandle, "GravityForce"), explosionEffectJob->GravityForce);
+ //glUniform1f(glGetUniformLocation(ShaderHandle, "ObjectRadius"), explosionEffectJob->ObjectRadius);
+ glUniform4fv(glGetUniformLocation(ShaderHandle, "EndColor"), 1, glm::value_ptr(explosionEffectJob->EndColor));
+ glUniform1i(glGetUniformLocation(ShaderHandle, "Randomness"), explosionEffectJob->Randomness);
+ glUniform1fv(glGetUniformLocation(ShaderHandle, "RandomNumbers"), 20, explosionEffectJob->RandomNumbers.data());
+ glUniform1f(glGetUniformLocation(ShaderHandle, "RandomnessScalar"), explosionEffectJob->RandomnessScalar);
+ glUniform2fv(glGetUniformLocation(ShaderHandle, "Velocity"), 1, glm::value_ptr(explosionEffectJob->Velocity));
+ glUniform1i(glGetUniformLocation(ShaderHandle, "ColorByDistance"), explosionEffectJob->ColorByDistance);
+ //glUniform1i(glGetUniformLocation(ShaderHandle, "ReverseAnimation"), explosionEffectJob->ReverseAnimation);
+ //glUniform1i(glGetUniformLocation(ShaderHandle, "Wireframe"), explosionEffectJob->Wireframe);
+ glUniform1i(glGetUniformLocation(ShaderHandle, "ExponentialAccelaration"), explosionEffectJob->ExponentialAccelaration);
//TODO: Renderer: bättre textur felhantering samt fler texturer stöd
- if (coolDeathAnimationJob->DiffuseTexture != nullptr) {
+ if (explosionEffectJob->DiffuseTexture != nullptr) {
glActiveTexture(GL_TEXTURE0);
- glBindTexture(GL_TEXTURE_2D, coolDeathAnimationJob->DiffuseTexture->m_Texture);
+ glBindTexture(GL_TEXTURE_2D, explosionEffectJob->DiffuseTexture->m_Texture);
} else {
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, m_WhiteTexture->m_Texture);
}
- glBindVertexArray(coolDeathAnimationJob->Model->VAO);
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, coolDeathAnimationJob->Model->ElementBuffer);
- glDrawElementsBaseVertex(GL_TRIANGLES, coolDeathAnimationJob->EndIndex - coolDeathAnimationJob->StartIndex + 1, GL_UNSIGNED_INT, 0, coolDeathAnimationJob->StartIndex);
+ glBindVertexArray(explosionEffectJob->Model->VAO);
+ glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, explosionEffectJob->Model->ElementBuffer);
+ glDrawElementsBaseVertex(GL_TRIANGLES, explosionEffectJob->EndIndex - explosionEffectJob->StartIndex + 1, GL_UNSIGNED_INT, 0, explosionEffectJob->StartIndex);
continue;
}
diff --git a/src/Engine/Rendering/RenderQueueFactory.cpp b/src/Engine/Rendering/RenderQueueFactory.cpp
index eacea09a..7540925d 100644
--- a/src/Engine/Rendering/RenderQueueFactory.cpp
+++ b/src/Engine/Rendering/RenderQueueFactory.cpp
@@ -90,7 +90,7 @@ void RenderQueueFactory::FillModels(World* world, RenderQueue* renderQueue)
}
for (auto texGroup : model->TextureGroups) {
- bool hasDeathComp = world->HasComponent(modelC.EntityID, "CoolDeathAnim");
+ bool hasDeathComp = world->HasComponent(modelC.EntityID, "ExplosionEffect");
if (!hasDeathComp) {
ModelJob job;
@@ -110,9 +110,9 @@ void RenderQueueFactory::FillModels(World* world, RenderQueue* renderQueue)
renderQueue->Add(job);
}
else {
- CoolDeathAnimationJob job;
+ ExplosionEffectJob job;
- auto deathComp = world->GetComponent(modelC.EntityID, "CoolDeathAnim");
+ auto deathComp = world->GetComponent(modelC.EntityID, "ExplosionEffect");
job.ExplosionOrigin = (glm::vec3)deathComp["ExplosionOrigin"];
job.TimeSinceDeath = (double)deathComp["TimeSinceDeath"];
diff --git a/src/Engine/Rendering/Renderer.cpp b/src/Engine/Rendering/Renderer.cpp
index e96d3df3..b509c664 100644
--- a/src/Engine/Rendering/Renderer.cpp
+++ b/src/Engine/Rendering/Renderer.cpp
@@ -76,12 +76,12 @@ void Renderer::InitializeShaders()
m_DrawScreenQuadProgram->Compile();
m_DrawScreenQuadProgram->Link();
- m_CoolDeathAnimProgram = ResourceManager::Load("#CoolDeathAnimProgram");
- //m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new VertexShader("Shaders/CoolDeathAnim.vert.glsl")));
- //m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new GeometryShader("Shaders/CoolDeathAnim.geom.glsl")));
- //m_CoolDeathAnimProgram->AddShader(std::shared_ptr(new FragmentShader("Shaders/CoolDeathAnim.frag.glsl")));
- //m_CoolDeathAnimProgram->Compile();
- //m_CoolDeathAnimProgram->Link();
+ m_ExplosionEffectProgram = ResourceManager::Load("#ExplosionEffectProgram");
+ //m_ExplosionEffectProgram->AddShader(std::shared_ptr(new VertexShader("Shaders/ExplosionEffect.vert.glsl")));
+ //m_ExplosionEffectProgram->AddShader(std::shared_ptr(new GeometryShader("Shaders/ExplosionEffect.geom.glsl")));
+ //m_ExplosionEffectProgram->AddShader(std::shared_ptr(new FragmentShader("Shaders/ExplosionEffect.frag.glsl")));
+ //m_ExplosionEffectProgram->Compile();
+ //m_ExplosionEffectProgram->Link();
diff --git a/src/Game/Game.cpp b/src/Game/Game.cpp
index fdc22db2..403a5617 100644
--- a/src/Game/Game.cpp
+++ b/src/Game/Game.cpp
@@ -57,7 +57,7 @@ Game::Game(int argc, char* argv[])
m_SystemPipeline->AddSystem(m_Renderer);
m_SystemPipeline->AddSystem();
m_SystemPipeline->AddSystem();
- m_SystemPipeline->AddSystem();
+ m_SystemPipeline->AddSystem();
// Invoke network
if (m_Config->Get("Networking.StartNetwork", false)) {