There are a lot of parameters to set for the lighting system. The amount of ambient and diffuse lighting, for example. To generate a scene that looks like the current one with dynamic lighting, I needed to set ambient lighting to (0.6, 0.6, 0.6), but I wonder if this might drown out other lighting effects?
We have a single, fixed light source at the moment (the sun) for diffuse and specular lighting. Several people have tried making the sun move to generate moving shadows, but this turned out to be just annoying. I am thinking that the parameter for the light source should be changeable from scripts, so that some maps can be darker, brighter, have the sun at a different position, etc..
There are some other potential light sources as well. Currently explosions light up the terrain by manipulating vertex colours, not using proper lighting. This means that objects that are on top of the terrain are unaffected by such "light sources". OpenGL is only guaranteed to support 8 light sources, but it would be possible to add an OpenGL light source to the 7 nearest explosion effects to add proper lighting to nearby objects as well. I am not sure how important this is, though, as it happens so quickly that people may not notice it.
Then there is the question of support for materials and model normals. Currently normals are only calculated for the terrain, but models also need normals. I am not sure if we want to store normals in the model files (precomputed), or if we want to calculate them when models are loaded? I have noticed that in at least some model formats, each mesh has its own material properties. Should we extend the PIE format to do it the same way, or are there better ways to do it?
Well, those are some initial questions, at least. Once we have a proper lighting system up and running, we can start adding fancier effects like normal maps and the like.





