Could someone please help me with the following problem I have with my OpenGL code.
I’ve drawn a object in 3D space. The object are flat(lies in the Z=0 plane) and I use a distant lightsource ({0.0,0.0,1.0,0.0}).
What I want is to assign a color to the object with RGB values(For instance I want the object to be blue like RGB values 0,94,173). I use the following code to specify the color of the object. (RED, GREEN and BLUE are variables that contains my preferred RGB code)
float diffuse[]={RED/(float)255 ,GREEN/(float)255, BLUE/(float)255, 1.0};
float ambient[]={RED/(float)255 ,GREEN/(float)255, BLUE/(float)255, 1.0};
float specular[]={0.3 ,0.3, 0.3, 1.0};
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, ambient);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
But when I execute the program the object does not have the color that I have specified through my RGB values. Moreover, when I scale the object the object changes color. What have I done wrong? And what do I have to do, to be able to specify the color of an object (in 3D space) through its RGB values?
I would greatly appreciate any help
Robert