Deinen Programmcode kann ich leider jedoch so gut wie gar nicht nachvollziehen, weil du irgendwelche eigenen Hilfsfunktionen nutzt, die ich nicht kenne.
Die Zeile "glBindTexture(GL_TEXTURE_2D, 1)" ist falsch. Als zweiter Parameter wird eine Texture ID erwartet. Ich bin mir nicht sicher, ob du den Parameter versehentlich für die Sampler ID gehalten hast, oder du fälschlicherweise einfach davon ausgehst, dass deine Textur ID immer 1 ist.
Als Geheimtipp für AttributeArray-Einstellungen empfehle ich "offsetof" bzw. "sizeof" für den Stride.
Du solltest den Code mit glGetError auf möglicherweise geworfenen OpenGL-Fehler überprüfen. Kompiliert dein Shader überhaupt korrekt, bzw. hast du getestet, dass der Shader auch zum Zeichnen verwendet wird? Bei deinen Shadercode würde ich vermuten das er mit der Version 330 nicht mehr richtig kompiliert. So oder so solltest du besser "in" und "out" nutzen und am besten bei den Vertexattributen die Location als Layoutparameter im Shader angeben.
Ein relativ gutes & auch modernes Tutorial für GLSL findest du auch hier: "
http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/"
Wenn es deutsch sein soll und besonders als Übersicht und Funktionsreferenz ist auch das gut, auch wenn es nicht auf den neusten Stand ist: "
http://wiki.delphigl.com/index.php/Tutorial_glsl"
Überprüfe am besten auch nochmal den Inhalt der Texture. Am Besten zb. mit dem glDebugger.