layout(std430, binding=0) buffer coord3d { vec4 vertex[]; } ; // No local name for this one layout(std430, binding=1) buffer vel3d { vec4 velocity[]; } ; // No local name for this one layout(local_size_x=8) in; void main(){ velocity[gl_LocalInvocationID.x].y -= 0.01; vertex[gl_LocalInvocationID.x] += velocity[gl_LocalInvocationID.x]; if(vertex[gl_LocalInvocationID.x].y < -5.0){ velocity[gl_LocalInvocationID.x].y *= -1.1; vertex[gl_LocalInvocationID.x].y = -5; } }