#version 460 core layout(std430, binding = 3) buffer layoutName { float data_SSBO[]; }; vec3 unpack(uint index) { return vec3(data_SSBO[index * 3], data_SSBO[index * 3 + 1], data_SSBO[index * 3 + 2]); } void main() { gl_Position = vec4(unpack(gl_InstanceID), 1.0); }