#version 450 core struct PosColTcoord { vec4 pos; vec4 col; vec4 tcoord; }; layout (std430, binding = 11) readonly buffer Data { PosColTcoord data[]; }; layout (location = 0) uniform int layoff; layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; out vec4 vColor; out vec3 vTexCoord; void main() { vec4 p = data[gl_VertexID].pos; gl_Position = theMat * p; vColor = data[gl_VertexID].col; vTexCoord = data[gl_VertexID].tcoord.xyz; }