Skip to main content
GameDev.net gamedev.net
🔒 Locked

Help with light attenuation

Started by slyterence Jun 24, 2001 at 4:33 PM 2 replies 950+ views
Original Post
slyterence
slyterence
Hey guys I''m writing a game, but I''m having a problem with the lighting. There''s a flat field, 200x200, enclosed by walls, with a light in one corner, (80,80), and it renders correctly on the walls that make up that corner, but it lights up the opposite walls fully as well, despite my best efforts to use light attenuation to stop this. Whatever numbers I use for the attenuation constant, linear attenuation and quadratic attenuation, the walls still shine with full intensity. This is the code i''m using (taken straight from the red book, but i''ve tried other numbers, from 100000 to 0.000001, for all three values. glLightf(GL_LIGHT1, GL_CONSTANT_ATTENUATION, 2.0); glLightf(GL_LIGHT1, GL_LINEAR_ATTENUATION, 1.0); glLightf(GL_LIGHT1, GL_QUADRATIC_ATTENUATION, 0.5); can someone please help me? We scratch our eternal itch A twentieth century bitch We are grateful for Our Iron Lung
We scratch our eternal itchA twentieth century bitchWe are grateful forOur Iron Lung
zedzeek
zedzeek
set this to zero GL_CONSTANT_ATTENUATION + play around with the other 2 values to understand it. check the red book for the maths
1 / (Kc + KlD + KqD2)
1 / ( 0 + ...... )
fill in the blank

also there might be something here
http://www.xmission.com/%7Enate/tutors.html
if not let me know and ill write a simple demo program that shows lighting

http://members.xoom.com/myBollux
slyterence
slyterence
Okay, firstly, the plot thickens :

I''m running with a VooDoo 3, and no matter what I set the 3 factors to, the two walls close to the light look right, while the ones opposite the field are totally lit up...

However, my friend is using a GeForce 2, and if I set these factors to anything, he can''t see the light at all

I tried what you said zed, but it doesn''t work... I''m busy downloading Nate''s tutorials now, and I''ll see if that helps...

We scratch our eternal itch
A twentieth century bitch
We are grateful for
Our Iron Lung
We scratch our eternal itchA twentieth century bitchWe are grateful forOur Iron Lung
slyterence
slyterence
OK, so i''ve been testing the game on my friend''s pc, and the attenuation seems to work, with (kC = 0, kL = 0.0001, kQ = 0.0001) creating a very much brighter scene, and (kC = 0, kL = 0.01, kQ = 0.01) creating a very, very dim scene (have to look real close to see a very slight light in the corner), but the puzzle now is, why doesn''t the scene change at all on my computer? Has anyone got any advice/ideas?

Thankx

We scratch our eternal itch
A twentieth century bitch
We are grateful for
Our Iron Lung
We scratch our eternal itchA twentieth century bitchWe are grateful forOur Iron Lung

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.