next up previous contents
Next: 11.3.2.4 Shadow Volume Trade-offs Up: 11.3.2 Shadow Volumes Previous: 11.3.2.2 Light Volumes   Contents

11.3.2.3 Incrementally Updating Shadow Volumes

Since computing shadow polygons is the most difficult part of the shadow volume technique, it's useful to consider ways of reusing the constructed volume whenever possible. One reuse technique is useful for shadow or light volumes that are reflected in one or more planar surfaces. Instead of generating a new volume for each reflection, the original volume is transformed to the lights virtual position. The virtual position is where the light appears to be in the reflecting surface. The same reflection transform that moves the light from its actual position to the virtual one can be applied to the volume geometry.

Another technique is useful when the light or shadowing object moves incrementally from frame to frame. If the light source moves, only the base of the volume (the part of the volume not attached to the light or shadowing object) needs updating. The change in vertex positions tracks the change in light position as a function of the ratio between the light to shadowing object distance, and the shadowing object to base distance. A similar argument can be made when the shadowing object moves incrementally. In this case, some of the volume vertices move with the object (since it is attached to it). The base can be calculated using similar triangles. If either the light or shadowing object are moving linearly for multiple frames, a simplified equation can be generated for volume updates.

If the light source is being jittered to generate soft shadows, only the volume vertices attached to the shadowing object need to be updated; the base of the shadow volume is unchanged. Since the jitter movement is a constrained translation, updating these vertices only involves adding a constant jitter vector to all of them.


next up previous contents
Next: 11.3.2.4 Shadow Volume Trade-offs Up: 11.3.2 Shadow Volumes Previous: 11.3.2.2 Light Volumes   Contents
2001-01-10