#version 460 layout ( packed, binding = 0 ) uniform events { vec2 mouse; vec2 window; }; layout ( packed, binding = 1 ) uniform orientation { vec2 quadPosition; }; struct quad{ vec2 position; vec2 size; vec3 color; int textureIndex; //int characters[]; }; layout( std430, binding = 2 ) readonly buffer meshes { quad meshArray[1000]; }; layout(location = 0) in vec3 position; layout(location = 1) in vec2 textureCoordinates; layout(location = 2) in int meshIndex; out vec2 vertex_textureCoordinates; out float vertex_meshIndex; out vec3 vertex_color; void main() { gl_Position.xyz = position * .6; vertex_textureCoordinates = textureCoordinates; gl_Position.w = 1.0; }