hi!
i have a problem that seems to have sth to do with
my camera direction or lighting. my normals are all set
correctly, but when i move my camera direction up, my
polygons get brighter, when moving it down, they darken.
here are my lighting settings:
float material_ambient[] = {1.0, 1.0, 1.0, 0.0};
float material_diffuse[] = {1.0, 1.0, 1.0, 0.0};
float material_specular[] = {1.0, 1.0, 0.0, 0.0};
float material_emission[] = {0.0, 0.0, 0.0, 0.0};
float ambient_light[] = {0.2, 0.2, 0.2, 0.0};
float light_ambient[] = {0.0, 0.0, 0.0, 0.0};
float light_diffuse[] = {1.0, 1.0, 1.0, 0.0};
float light_specular[] = {0.0, 0.0, 0.0, 0.0};
float light_pos[] = {0.0, 900.0, 0.0, 0.0};
float light_dir[] = {0.0, 100.0, 0.0, 0.0};
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE );
glMaterialfv(GL_FRONT, GL_EMISSION, material_emission );
glMaterialfv(GL_FRONT, GL_AMBIENT, material_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, material_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, material_specular);
glEnable(GL_COLOR_MATERIAL);
glLightModelfv ( GL_LIGHT_MODEL_AMBIENT, ambient_light );
glLightfv ( GL_LIGHT0, GL_POSITION, light_pos );
glLightfv ( GL_LIGHT0, GL_SPOT_DIRECTION , light_dir );
glLightfv ( GL_LIGHT0, GL_AMBIENT, light_ambient );
glLightfv ( GL_LIGHT0, GL_DIFFUSE, light_diffuse );
glLightfv ( GL_LIGHT0, GL_SPECULAR, light_specular );
glEnable (GL_LIGHT0);
glEnable (GL_LIGHTING);
and this is how i position my camera:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(cam.position.x,
cam.position.y,
cam.position.z,
cam.position.x + cam.direction.x,
cam.position.y + cam.direction.y,
cam.position.z + cam.direction.z,
cam.upVector.x,
cam.upVector.y,
cam.upVector.z);
does anybody have a clue why the camera-angle affects
the brightness of my polygons? any advice would be very
welcome
cheers!
sebastian