//*VERTEX* #version 450 #extension GL_EXT_buffer_reference : enable layout(binding = 1) readonly buffer PositionsBuffer { mat4 model_matrix[]; }; layout (location = 0) in vec3 inPos; //12 bytes : 0 layout (location = 1) in vec2 inUV; //8 Bytes : 12 layout (location = 2) in uvec3 inChunkID; //12 Bytes : 20 layout (location = 3) in vec3 inNormal; //8 Bytes : 12 layout (location = 4) in vec3 inBiTangent; layout (location = 5) in vec3 inTangent; void main() { uint chunkid = inChunkID[0]; mat4 model = model_matrix[chunkid]; gl_Position = model * vec4(inPos, 1.0); }