We present a real-time rendering algorithm that generates soft shadows of dynamic scenes using a single light
sample. As a depth-map algorithm it can handle arbitrary shadowed surfaces. The shadow-casting surfaces,
however, should satisfy a few geometric properties to prevent artifacts. Our algorithm is based on a bivariate
attenuation function, whose result modulates the intensity of a light causing shadows. The first argument specifies
the distance of the occluding point to the shadowed point; the second argument measures how deep the shadowed
point is inside the shadow. The attenuation function can be implemented using dependent texture accesses; the
complete implementation of the algorithm can be accelerated by today's graphics hardware. We outline the
implementation, and discuss details of artifact prevention and filtering