Lighting for a World
Lighting a world is a subject that keeps coming up, one that has a lot of impact how good a world looks and one that does not seem to be well understood by many and one that has little written on the subject so here is an attempt to help shed some light on this subject :) I don't know exactly how lighting is best done in real time graphics. I have never read such an article but I can talk from my experiences of trying different things out and some observations I have made.
To me lighting a 3d world for real time seems to always be a bit of a compromise or to put it in a more positive light, there are different approaches and each way has it's advantages and disadvantages.
The simplest way and perhaps one of the best ways to light a world is to simply add one directional light with default settings except for the direction field being set to -1 -1 -1

This direction makes the light shine from above down to the ground at a 45 degrees (PI*.25) angle (diagonally) in all directions. With no head light on and if looking from the best angle ( the bright side) its hard to ever get better results than this I feel because you have a good contrast of bright colors and shading.

However like this when viewed from the opposite angle everything appears very dark (it has a dark side)

You wont be able to see a avatars face from the dark side well if at all. In fixing this problem many builders add extra lights and this is often where many worlds are all to often spoilt as builders tend to make the world to bright washing out all the 3d shading. This may not be so noticeable when using lots of textured objects but the problem does not go away for textured objects because textured objects look cheaper without 3d shading.
To get a more graphical understanding of what does it mean to have good 3d shading look at my 2 examples to show the difference of a object with 3d shading:

and with out 3d shading:

You can not even see the mouth with no 3d shading because the mouth is not a cheap painted on mouth the mouth is for real ( made from triangles).
To much light = reduced contrast = less shading = poor quality = less of a 3d experience.
A way to overcome the dark side is to have only one directional light in the world and use the head light for the dark side. A head light from the bright side though will be to bright really but you can always turn it off when it is to bright manually or use a script to turn it off automatically. Another solution is to reduce the intensity field of the directional light. How much you reduce the intensity can vary and its always going to be a compromise. To little intensity means you are relying to much on using the head light to light a world which is not good for lighting objects like the land that faces upwards to the sky and to much intensity brings back the problem of washing out the 3d shading for the bright side so getting the balance right is anyone's taste.
I have seen some good worlds in the blaxxun community where it seems bright in all direction yet has a good contrast too. I have theorized this could possibly be done as follows:
There is one main light to simulate the sun's direct rays of light and lots of directional lights with less intensity than the main light to simulate ambient lighting ( light that shines in all directions) The great er the difference between the main light and the lights of lesser intensity will govern how much contrast/shading we have. Great care has to be taken to make sure the sum of all the lights is not to bright which is very easy to do when you add them all up.
What About the ambientIntensity Field?
Instead of adding extra lights why don't we just increase the value of the ambiantIntensity field to reduce the contrast and increase the brightness of the colors for the dark side of a world the way ambient lighting works in the real world ( how I understand it)?
I don't know how ambiantIntensity is meant to work in real time 3d graphics. If someone knows please tell me about it but from what I have experienced, increasing the value of ambientIntensity only makes the shaded colors go a lighter gray rather than the desired effect of achieving a brighter color like ambient lighting would achieve in the real world.
What About Increasing the emmisisveColor in the Material Node?
This could work for a world I would think to make it brighter on the dark side by achieving less of a contrast but this idea fails if we want our world to be visited by any avatar from any where on the net because each avatar contains it's own Material node.
Making Sure Your Light is Global
Often I have seen worlds where the lights are not added globally and so the world or part of the world unintentionally appears black. This would not be a problem for contact 4.4 and lower versions but is a problem for contact 5.1 and up because contact 5.1 does lighting more correctly in accordance to the VRML specs.
To make a DirectionalLight global add it to the scene node immediately as a first generation node, not a descendent of another node. If you are not sure what this means make sure you add a directional light as the first node added in the scene node as shown: