There is at least one issue that can be seen immediately in your code:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glfwSwapBuffers(windowID);
You are clearing the backbuffer (and what was rendered to it previously), and then immediately swap it to front. That does not make any sense. The sequence is:
1. clear
2. render (draw calls)
3. swapbuffers
But your current sequence is:
1. clear
2. swapbuffers
3. render (draw calls)
or equivalently but more obvious:
1. render (draw calls)
2. clear <-- clearing right after rendering? No.
3. swapbuffers
that means that whatever got rendered in 3 in iteration i-1 will immediately be cleared in iteration i.
If you suspect any more errors in your code, you can also run it with
LWJGLX/debug and see what it outputs.