# OpenGL Lighting (complete darkness not working)

This topic is 4467 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I'm having trouble getting rid of all lighting in a scene (ie, I want the screen completely black). There always seems to be a very low ambient light in the scene. I first tried setting the ambient and diffuse settings to black, that didn't work. I then disabled all 8 light sources (0-7) but still have the same problem. Setting material properties to black fixes the problem, but I don't want everything with a black material (there will be point lights eventually). Any ideas? (this is for opengl in case you didn't notice which forum it's in)

##### Share on other sites
Can you provide some code/screenshots?

##### Share on other sites
This is some test code to make sure everything is off:
	static GLfloat dummy[4] = {0.0, 0.0, 0.0, 1.0};	for( int i = GL_LIGHT0; i <= GL_LIGHT7; i++ )	{		glLightfv(i, GL_AMBIENT, dummy);		glLightfv(i, GL_DIFFUSE, dummy);		glLightfv(i, GL_POSITION,dummy);		glLightfv(i, GL_SPECULAR,dummy);		glDisable(i);	}

I wouldn't normally iterate through them like this, but I checked the header and they're all in order (this is quick and dirty testing).

I don't know what other source to show you. There's a lot more! If there's anything in particular you'd like to see I'll post it. At this point all light should be completely off, but it's not for some reason.

I'll put some screenshots up after I've tried some things. The only spot I have to put them right now is my google page. All I'm seeing is a very subtle ambient light in the scene, probably close to the opengl default of (0.2, 0.2, 0.2).

##### Share on other sites
Screenshot here:

I'm going to try the nehe lighting tutorial to simplify the problem.

##### Share on other sites
I think for setting the light to black you have to set the fourth light value to 0.0 (i.e. {0.0, 0.0, 0.0, 0.0} ).

Edit: err, I think I'm bein' stupid. :P Heh. Umm, I think I'm thinkin' of something with material properties like you mentioned... Hrm...

##### Share on other sites
This is odd.
'glDisable' should work fine.
Have you tried disabling the lights manually, rather than using a loop?
Strange advice, I know, but try it anyway.

Try replacing '<=' with a '!='.

##### Share on other sites
This is very weird, but I figured it out (sort of).

You wouldn't normally see this behavior, as the default material value for ambient light is 0.2 across the board. (0.8 diffuse). I was setting them both to 1.0. Note: this is the material, not the light I'm setting.

This could be my graphics card, or a driver problem, but even with all lights turned off, there is still a slight ambient light in the scene. I got this behavior even with Nehe's lesson 6. With a material value of 0.2 ambient, it's hardly noticable (but you CAN still see it). With my material ambient of 1.0, it was more obvious.

I'm going to retweak my lighting values to see if I can get it looking good with 0.2 ambient materials. I'll try it on my system at work on Monday to see if it's a gfx card thing.

##### Share on other sites
I was about to ask you to send me your program to see if it has the problem on my system.
Driver bug, I suspect.

1. 1
2. 2
3. 3
Rutin
22
4. 4
JoeJ
16
5. 5

• 14
• 29
• 13
• 11
• 11
• ### Forum Statistics

• Total Topics
631775
• Total Posts
3002284
×