A real-time self-shadowing technique is described. State of the art shadowing techniques that utilize
modern hardware often require multiple rendering passes and introduce rendering artifacts. Combining
separate ideas from earlier techniques which project geometry onto a plane and project imagery onto an
object results in a new real-time technique for self-shadowing. This technique allows an artist to construct
occluder textures and assign them to shadow planes for a self-shadowed model. Utilizing a graphics
processing unit (GPU), a vertex program computes shadowing coordinates in real-time, while a fragment
program applies the shading and shadowing in a single rendering pass. The methodology used to create
shadow planes and write the vertex and fragment programs is given, as well as the relation to the previous
work. This work includes implementing this technique, applying it to a small set of test models, describing
the types of models for which the technique is well suited, as well as those for which it is not well suited,
and comparing the techniqueâÂÂs performance and image quality to other state of the art shadowing
techniques. This technique performs as well as other real-time techniques and can reduce rendering
artifacts in certain circumstances