I'm trying to upgrade my code to modern OpenGL, so far I've successfully got a rectangular VBO drawn on the screen and was able to get it textured without shaders. But now I'm having trouble getting the texture displayed when using shaders.

As said before, I have gotten the texture to be drawn on the VBO without using shaders, so texture loading is not the issue here, I have also checked that the shaders are successfully compiled and binded to a program object, so you can rule that out too.

Here is my code, I hope this is all that is needed since I've done the error checking stated above however if you do, just ask.

main.c (slighlty simplified):
Code :
GLuint titleTexture;
loadTexture(binary_title_jpg_start, (size_t)binary_title_jpg_size, &titleTexture, SOIL_FLAG_COMPRESS_TO_DXT);
short titleShader = compileShaders(binary_testVertex_glsl_start, (size_t)binary_testVertex_glsl_size, binary_testFragment_glsl_start, (size_t)binary_testFragment_glsl_size);
 
while(1) {
	glUseProgram(titleShader);
	glEnable(GL_TEXTURE_2D);
	glActiveTexture(GL_TEXTURE0_ARB);
	int textureSampler = glGetUniformLocation(titleShader, "textureS");
	glUniform1i(textureSampler, titleTexture);
	glBindTexture(GL_TEXTURE_2D, titleTexture);
	drawVBO(&menuBackground);
	glDisable(GL_TEXTURE_2D);
	glUseProgram(0);
}

testVertex.glsl:
Code :
void main() {
	gl_TexCoord[0] = gl_MultiTexCoord0;
	gl_Position = gl_Vertex * gl_ModelViewProjectionMatrix;
}

testFragment.glsl:
Code :
uniform sampler2D textureS;
 
void main(void) {
	gl_FragColor = texture2D(textureS, gl_TexCoord[0].st);
}

The VBO rendered is just plain black, what's up with that?