"divide by zero" when using light

If a machine isn’t capable of using lighting, will it give a “divide by zero” run-time error? I’m only using simple lighting, one light source of ambient and diffuse light.

I didn’t think any 3D graphics card does not support lighting. I’m not even sure what card it is, I’m assuming that it’s pretty weak being that I’m using a school computer.

no, you shouldn’t get a divide by zero error. standard lighting is part of the core gl. every gl implementation must support standard lighting, although it might be done by the driver on the cpu rather than by the card itself. chances are you’re doing something wrong. does the code work correctly on other graphics cards? oh, and you can detect what kind of card it is with the glGetString(GL_VENDOR) and glGetString(GL_RENDERER) calls.

I have a similar problem with a new machine. The program runs on all my other computers except for a recent one that I purchased. Must be to do with the graphics adaptor. It is an Intel 82845G Card. Can you check whether you have something similar

The comupter that is giving me problems uses an Intel 810/810E. I know, it’s crap…but what’s the error for? I used the same code on a computer with a GeForce2 MX 440, and it works no problem. I must not have the right drivers on the computer with the Intel.

I downloaded the latest Intel graphics driver but I still have the same problem.
The solution I found was to change the graphics hardware acceleration level to none or one level up but obviously the program does not run as fast

It’s a driver bug.

Work up a small test case that fails and report it to Intel.

Of course you may have some nasty data somewhere (zero length normal for example), it seems unlikely they’d have missed something as ubiquitous as a general lighting bug, but reguardless it shouldn’t do what it’s doing.

skorman00 or William Tiu-

Can one of you email me a test app that demonstrates this problem? I’ll be happy to take a look at it.

Thanks,
– Ben

Ben,
I will email you next weds, I wont have access to the the computer that is giving me the problem until then.
thanks

Originally posted by skorman00:
Ben,
I will email you next weds, I wont have access to the the computer that is giving me the problem until then.
thanks

Hi skorman00-

William sent me a sample application and I think we got it figured out. Adding the following to your initialization code should work around the problem until newer drivers are available (should be a week or two at most):

glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, 1.0f);

Thanks,
– Ben

thanks Ben.