6 vec4 padding2; // for LÖVR's limited ShaderBlock type :(
7 vec4 padding3; // for LÖVR's limited ShaderBlock type :(
9 layout(std430) buffer particleData {
11 particle_t particles[];
14 layout(local_size_x = 128) in;
16 uint id = gl_GlobalInvocationID.x;
17 vec3 vel = particles[id].velocity.xyz;
18 particles[id].positionAndSize.xyz += vel * dt;
19 particles[id].velocity.xyz -= vel * length(vel) * dt;