Hi!
First of all, I want you to know that I have searched the forum and founh solutions to similar problems, but somehow I couldn't manage to make my program work.

I am trying to pass 2 textures to GLSL from C++, and there just add their color and display. I really cannot see what I'm doing wrong, so please help

Here is the code:
Code :
glGenTextures(1,&texName1);
	glBindTexture(GL_TEXTURE_2D,texName1);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
	glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,sizeX,sizeY,0,GL_RGB,GL_UNSIGNED_BYTE,fileData1);
	glBindTexture(GL_TEXTURE_2D,0);
 
	glGenTextures(1,&texName2);
	glBindTexture(GL_TEXTURE_2D,texName2);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
	glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,sizeX2,sizeY2,0,GL_RGB,GL_UNSIGNED_BYTE,fileData2);
	glBindTexture(GL_TEXTURE_2D,0);
set shaders function
Code :
 void setShaders() {
 
	char *vs = NULL,*fs = NULL;
	GLint location1,location2;
 
	v = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
	f = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
 
 
	vs = textFileRead("texture.vert");
	fs = textFileRead("texture.frag");
 
	const char * ff = fs;
	const char * vv = vs;
 
	glShaderSourceARB(v, 1, &vv,NULL);
	glShaderSourceARB(f, 1, &ff,NULL);
 
	free(vs);free(fs);
 
	glCompileShaderARB(v);
	glCompileShaderARB(f);
 
	p = glCreateProgramObjectARB();
	glAttachObjectARB(p,f);
	glAttachObjectARB(p,v);
 
	glLinkProgramARB(p);
 
	location1=glGetUniformLocationARB(p,"texture1");
	location2=glGetUniformLocationARB(p,"texture2");
 
	glActiveTextureARB(GL_TEXTURE0);
	glBindTexture(GL_TEXTURE_2D, texName1);
	glEnable(GL_TEXTURE_2D);
	glUniform1iARB(location1, 0);
 
	glActiveTextureARB(GL_TEXTURE1);
	glBindTexture(GL_TEXTURE_2D, texName2);
	glEnable(GL_TEXTURE_2D);
	glUniform1iARB(location2, 1);
 
	glUseProgramObjectARB(p);
}
vertex shader:
Code :
 varying vec3 normal;
void main()
{
	normal = gl_NormalMatrix * gl_Normal ;
	gl_Position = ftransform();
 
	gl_TexCoord[0] = gl_MultiTexCoord0;
	gl_TexCoord[1] = gl_MultiTexCoord1;
}
fragment shader:
Code :
varying vec3 normal;
uniform sampler2D texture1;
uniform sampler2D texture2;
 
void main()
{
	gl_FragColor = texture2D(texture1,gl_TexCoord[0])+texture2D(texture2,gl_TexCoord[1]);
}

this program displays just the data found under the fileData1 texture, and the fileData2 texture is just black. If I swap the two textures in the glTexImage2D functions, it will display only the second texture, so it's not a problem related with reading texture data...