This image demonstrates ZP+ which, as the name implies ;-), improves on Z-pass, the good-old method for real-time stencil shadows.
As you all know, I'm sure, Z-pass fails when the near rectangle (the visible part of the near plane) is (partly) shadowed, as holes are created on the near plane that locally break the counting argument that makes stencil shadows work.
This new method, dubbed ZP+ for "Z-Pass Plus", simply corrects this defect of Z-pass. Using a skewed frustum with the light source as apex, we are able to fill these holes exactly. The positioning of this frustum is depicted on the bottom-right figure.
As a result, we obtain a robust version of the Z-pass method, that can take advantage of triangle-strips and VBO since the mesh need not be cut into a light-cap and a dark-cap anymore. Thus, we get frame-rates faster than Z-fail in most cases. And stencil shadows become more applicable to large meshes.
There are some subtle problems to deal with when implementing ZP+ but they are all adressed in details in our paper.
If you are interested, please take a look at it!
If you implement the method into your application, I'd be happy to hear from you. Thanks for reading!