Fixed a bug where you could not have more than one particle group

This commit is contained in:
tleety
2015-09-29 10:27:57 +02:00
parent 7d9e3e00a4
commit 38d3a8c990
5 changed files with 69 additions and 100 deletions
Regular → Executable
+11
View File
@@ -203,6 +203,16 @@ public:
m_World->CommitEntity(background);
}
//Water test
{
auto t_waterBody = m_World->CreateEntity();
auto transform = m_World->AddComponent<Components::Transform>(t_waterBody);
transform->Position = glm::vec3(0.f, -0.5f, -10.f);
transform->Scale = glm::vec3(1.f, 1.f, 1.f);
auto water = m_World->AddComponent<Components::WaterVolume>(t_waterBody);
auto body = m_World->AddComponent<Components::RectangleShape>(t_waterBody);
m_World->CommitEntity(t_waterBody);
}
//Water test
{
auto t_waterBody = m_World->CreateEntity();
@@ -213,6 +223,7 @@ public:
auto body = m_World->AddComponent<Components::RectangleShape>(t_waterBody);
m_World->CommitEntity(t_waterBody);
}
//TODO: Why does the ball not collide with these bricks?
//BottomBox
{
+19 -24
View File
@@ -72,37 +72,32 @@ private:
ShaderProgram* m_spDeferred3;
ShaderProgram* m_spForward;
ShaderProgram* m_spScreen;
ShaderProgram* t_m_spWater;
ShaderProgram* t_m_spWater2;
ShaderProgram*m_spWater;
ShaderProgram*m_spWater2;
GLuint m_ScreenQuad = 0;
Model* m_UnitSphere = nullptr;
Model* m_UnitQuad = nullptr;
Texture* m_StandardNormal;
Texture* m_StandardSpecular;
Texture* t_m_WhiteSphereTexture;
GLuint m_rbDepthBuffer = 0;
GLuint m_fbDeferred1 = 0;
GLuint m_GDiffuse = 0;
GLuint m_GPosition = 0;
GLuint m_GNormal = 0;
GLuint m_GSpecular = 0;
GLuint m_fbDeferred2 = 0;
GLuint m_tLighting = 0;
GLuint m_fbDeferred3 = 0;
GLuint m_tFinal = 0;
//Water GTexture
GLuint t_m_Gwater = 0;
//Water blur texture
GLuint t_m_BWater;
GLuint t_m_BWater2;
//WAterpass Framebuffer
GLuint t_m_fbWater;
//Waterpass Framebuffer
GLuint t_m_fbWaterBlur;
GLuint t_m_fbWaterBlur2;
Texture* m_WhiteSphereTexture;
GLuint m_rbDepthBuffer = 0; //DepthBuffer Texture
GLuint m_fbDeferred1 = 0; //Framebuffer for first pass
GLuint m_GDiffuse = 0; //Texture for diffuseColors
GLuint m_GPosition = 0; //Texture for positions
GLuint m_GNormal = 0; //Texture for normals
GLuint m_GSpecular = 0; //Texture for specular
GLuint m_fbDeferred2 = 0; //Framebuffer that handles the lighting pass
GLuint m_tLighting = 0; //Texture for the lighting pass
GLuint m_fbDeferred3 = 0; //Frambuffer for handling the last pass.
GLuint m_tFinal = 0; //Final Texture to be printed to screen
GLuint m_Gwater = 0; //Water Color Texture
GLuint m_BWater; //Water blur texture
GLuint m_BWater2; //Water blur texture
GLuint m_fbWater; //Waterpass Framebuffer
GLuint m_fbWaterBlur; //Waterpass Framebuffer
GLuint m_fbWaterBlur2; //Waterpass Framebuffer
GLuint m_CurrentScreenBuffer = 0;
void LoadShaders();
Regular → Executable
+2 -2
View File
@@ -67,8 +67,8 @@ private:
void CreateBody(EntityID entity);
b2ParticleSystem *m_ParticleSystem;
b2ParticleGroup* t_watergroup;
b2ParticleSystem* m_ParticleSystem;
std::vector<b2ParticleGroup*> t_ParticleGroup;
std::unordered_map<EntityID, const b2ParticleHandle*> m_EntitiesToParticleHandle;
std::unordered_map<const b2ParticleHandle*, EntityID> m_ParticleHandleToEntities;