#version 430 core layout (local_size_x = 1) in; struct Vertex { vec3 pos; vec3 norm; vec2 uv; }; layout(std430, binding=0) readonly buffer Input { Vertex vertices_in[]; }; layout(std430, binding=1) writeonly buffer Output { Vertex vertices_out[]; }; void main(){ vertices_out[gl_GlobalInvocationID.x] = vertices_in[gl_GlobalInvocationID.x]; }