So I was looking through your code a bit and have a comment about that planet shader.
You write this:
Code:
out_texcoord = vertex_position;
and don't use your incoming
Code:
in vec2 vertex_texture1;
A texcoord can never be a vertex_position (uvs only go from 0 to 1 whereas local vertex positions go from -1 to 1)
And of course uvs are only vec2s instead of vec3 like you have in your
Code:
out vec3 out_texcoord;
This might fix your bug with the textures on planets not being right.