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
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.
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):