Are the glLight* and associated functions hardware accelerated in modern (post Geforce 2) video cards, or would it be better implement my own in-game lighting system using vertex programs or software fallback?
Transform and lighting is implemented since GeForce256 on Nvidia cards. I don’t know about ATI.
For ATI hardware T&L is for sure supported with anything from a Radeon 7200 and up. The old Rage Cards definitely have no hw t&l and I don’t think the original 32 and 64 mb Radeon DDR have solid support.
What has to be said about the OpenGL lighting functions is that they don’t include the concept of obstruction. If you place a quad directly in front of another one and set up a light to face them, both quads will be fully lit. If you’re going for realism vertex and/or fragment programs are the state of the art. If you’re using static lights don’t be afraid to use light mapping just because everybody says it’s outdated. A good radiosity algorithm beats any standard hardware T&L any day of the week and twice on Sunday.