This article needs additional citations for verification. (May 2016)
Self-Shadowing is a computer graphics lighting effect, used in 3D rendering applications such as computer animation and video games. Self-shadowing allows non-static objects in the environment, such as game characters and interactive objects (buckets, chairs, etc.), to cast shadows on themselves and each other. For example, without self-shadowing, if a character puts his or her right arm over the left, the right arm will not cast a shadow over the left arm. If that same character places a hand over a ball, that hand will cast a shadow over the ball.
One thing that needs to be specified is whether the shadow being cast is dynamic or static. A wall with a shadow on it is a static shadow. The wall is not moving and so its geometric shape is not going to move or change in the scene. A dynamic shadow is something that has its geometry changes within a scene.
Self-Shadowing methods have trade-offs between quality and speed depending on the desired result. To keep speed up, some techniques rely on fast and low resolution solutions which could result in wrong looking shadows which may be out of place in a scene. Others require the CPU and GPU to calculate with algorithms the exact location and shape of a shadow with a high level of accuracy. This requires a lot of computational overhead, which older machines could not handle.
Developed by Nelliwinne