diff --git a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp index 4d8eebf05b..a199c6b10e 100644 --- a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp @@ -39,6 +39,7 @@ public: InterpolationData radius; InterpolationData color; // rgba float lifespan; + glm::vec3 spare; }; struct ParticlePrimitive { diff --git a/libraries/entities-renderer/src/textured_particle.slv b/libraries/entities-renderer/src/textured_particle.slv index d3747d21eb..79f75187c5 100644 --- a/libraries/entities-renderer/src/textured_particle.slv +++ b/libraries/entities-renderer/src/textured_particle.slv @@ -30,10 +30,10 @@ struct Colors { struct ParticleUniforms { Radii radius; Colors color; - float lifespan; + vec4 lifespan; // x is lifespan, 3 spare floats }; -uniform particleBuffer { +layout(std140) uniform particleBuffer { ParticleUniforms particle; }; @@ -112,7 +112,7 @@ void main(void) { int twoTriID = gl_VertexID - particleID * NUM_VERTICES_PER_PARTICLE; // Particle properties - float age = inColor.x / particle.lifespan; + float age = inColor.x / particle.lifespan.x; float seed = inColor.y; // Pass the texcoord and the z texcoord is representing the texture icon