Jump to content
  • Advertisement
Sign in to follow this  
Thrump

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.

If you intended to correct an error in the post then please contact us.

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 this post


Link to post
Share on other sites
Advertisement
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 this post


Link to post
Share on other sites
Screenshot here:
http://thrump.googlepages.com/home

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

Share this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!