The vertex attributes aren't set correctly. This is my code
glGenVertexArrays(1, &border_vao);
glBindVertexArray(border_vao);
glGenBuffers(1, &border_vbo);
glBindBuffer(GL_ARRAY_BUFFER, border_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(float) * border_vertices.size(), &border_vertices[0], GL_STATIC_DRAW);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (void*)0);
glEnableVertexAttribArray(0);
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (void*)(2 * sizeof(float)));
glEnableVertexAttribArray(1);
glBindVertexArray(0);
#version 430 core
layout (location = 0) in vec2 vertex_position;
layout (location = 1) in vec2 direction;
void main() {
gl_Position = vec4(
((2. * vertex_position.x) - 1.f) * zoom,
((2. * vertex_position.y) - 1.f) * zoom,
0.0, 1.0);
tex_coord = vertex_position;
}