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.
Self-Shadowing is a word that describes a moment where an object casts a shadow on itself. An example of this is when people are sitting around a camp fire and the firelight makes their noses cast shadows on their faces. This term is used in computer graphics when making 3D programs. This is used when a character has dynamic shadows on themselves or objects around them. This technique can cause problems with gpu’s and cpu since they may not be powerful enough to render the images smoothly.
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.
A technique was created where a shadow on a rough surface can be calculated quickly by finding the high points along from the light source's origin and ignoring any other geometric points underneath the peaks. Imagine a sunrise in the mountains where the light hits a peak behind you but you are still in the dark. The computer wouldn’t need to worry about you needing a shadow or light since you are below the peak behind you. “Height Field Self-Shadowing” renders self-shadows on dynamic height fields under dynamic light environments in real time.