the leaves in the back of the tree are darker because they shadowed by the leaves in front...this kind of self shadowing is only possible by using stencil shadows(not usually very pretty looking) or shadow mapping. if you want to shade a tree, using the normal gauraud shading is still the best option for realtime.. no one will notice the shadowing issue. your diagram still makes little sense.. show me a screenshot of your model with the current lighitng..

Using standard lighting models, each polygon is shaded according to the dot product of its surface normal and the light vector. Using stencil shadows or shadow mapping can overlay a cast shadow on certain polygons that are hidden from the light. There are however more advanced lighting models that can simulate the kind of effects i think you are referring to..one is called Precomputed Radiance Transfer or PRT. This requires however more than just a shader, it would need to be done in a fairly sophisticated DLL.

I think your best bet to is to forget about these advanced effects for now however. Just have to live with the fact that lighting in a computer game is simply not like the real world, and try to compensate for it in your artwork

If anyone else has a better idea I'd be interested to hear it tho