Sign in to follow this  

only one light works?

This topic is 3742 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 put two lights in the scene,but only LIGHT0 works. Thanks for your reply in advance. ******************the procedure is as follows************************** void init(void) { GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat mat_shininess[] = { 50.0 }; GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 }; glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_SMOOTH); GLfloat light1_ambient[]={0.2,0.2,0.2,1.0}; GLfloat light1_position[] = { -2.0,2.0,1.0, 1.0 }; GLfloat light1_diffuse[]={1.0,1.0,1.0,1.0}; GLfloat light1_specular[]={1.0,1.0,1.0,1.0}; GLfloat spot_direction[]={-1.0,-1.0,0.0}; glLightfv(GL_LIGHT1, GL_AMBIENT, light1_ambient); glLightfv(GL_LIGHT1, GL_DIFFUSE, light1_diffuse); glLightfv(GL_LIGHT1, GL_SPECULAR, light1_specular); glLightfv(GL_LIGHT1, GL_POSITION, light1_position); glLightf(GL_LIGHT1, GL_CONSTANT_ATTENUATION, 1.5); glLightf(GL_LIGHT1, GL_LINEAR_ATTENUATION, 0.5); glLightf(GL_LIGHT1, GL_QUADRATIC_ATTENUATION, 0.2); glLightf(GL_LIGHT1,GL_SPOT_CUTOFF,45.0); glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,spot_direction); glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,2.0); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_LIGHT1); glEnable(GL_DEPTH_TEST); }

Share this post


Link to post
Share on other sites
hi,

I tried your setting and it works for me...

I guess you are trying to spot-light a larger mesh, and in that case you should check your attenuations. Furthermore note that your light is not __shining__ towards the locale...

playing with spot cutoff might also help you.

xibo

EDIT: Ah, and welcome to GameDev.net.

Share this post


Link to post
Share on other sites

This topic is 3742 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this