A soft shadow volumes implentation by Nicolas Vizerie

1. about
-----

This sample is a Direct3D implementation of the soft shadow volumes algorithm by 
Ulf Assarsson, Michael Dougherty, Michael Mounier, and Tomas Akenine-Möller.
The original paper 'An Optimized Soft Shadow Volume Algorithm with Real-Time Performance' 
can be found here : http://www.cs.lth.se/home/Tomas_Akenine_Moller/pubs/soft_gfxhw2003.pdf.

This sample only implements the case of a spherical light source. while the original papers
 used 2 visibility buffers (one additive and one subtractive), this sample improves the original 
 algorithm by using a single v-buffer, and using subtractive blending to account for negative values.
As a result some v-ram is saved, and some bandwidth is saved for the final compositing shader as well.
Moreover, the texture containing object coordinates are computed in camera space, not in world. This results 
 in increased accuracy for FP16 buffers, as coordinates are more likely to be in the same small, delimited range.

2. Hardware requirement
-----------------------
- DirectX 9.0c should be installed
- Your hardware accelerator should support Pixel Shader version 2.0 or more 
  (nVidia Geforce FX or better, ATI Radeon 9500 or better)

3. Controls
-----------

Just click and hold left button in the window to move. 
Arrows : Strafe & move forward/backward
PageUp / Down : Fly up/down
Alt-Enter : toggle fullscreen
M : Toggle scene managment widgets
X : Toggle edition widgets
L : Toggle light parameters widgets.

"Light Radius' : The bigger the light, the wider the penumbra region. When light radius is 0, result is the same
                 than for the original shadow volumes algorithm. This mean also that more sample will require the expensive
                 shader to be run, resulting in fewer fps.

"Light Extent" : The distance as which light influences objects

"Next scene"  : allow to cycle through the scene provided with this sample

The light as a moving gizmo on it. Just hold the left button on the 3D arrows & handles, 
and move the mouse to change light position.

The GUI includes additionnal button to add meshs in the scene and to enable/disable shadow casting on them.
supproted mesh format is the .x format.


4. License
----------
Most part of this sample are released under the GPL license, except for the DX widget code 
found in the 'common' folder.
(which seem to be freely copyable, however).
See the 'COPYING' for details.

5. Contact
----------
Please feel free to contact for any comment / suggestion
nicovize@club-internet.fr
www.vizerie3d.net





