#version 310 es
precision mediump float;

struct Simulation {
  uint i;
};
struct Particle {
  vec3 position[8];
  float lifetime;
  vec4 color;
  vec3 velocity;
};

layout(binding = 3) buffer Particles_1 {
  Particle p[];
} particles;
layout(binding = 4) uniform Simulation_1 {
  uint i;
} sim;

layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void tint_symbol() {
  Particle particle = particles.p[0];
  particle.position[sim.i] = particle.position[sim.i];
  return;
}
void main() {
  tint_symbol();
}


