Shadow volume generation

I am currently working on shadow volumes,but I have encountered the following problem:
One of the first steps of this technique is to determine the silhouette,based on the position of the light and the geometry of the model.All the docs I’ve read state that the model must be “closed” in order to get things right.But consider this example:

               . -->LIGHT 
                                         
              OOO
             OOOOO         
             OOOOO         
              OOO
              OOO
           OOOOOOOOOO
           OOOOOOOOOO
            OOOOOOOO  

What is the silhouette here?The object is closed but obviously there are two silhouettes,one “small” and one “big”.Also,the part of the object that cast the “big” shadow volume is shadowed by the “small”.Am I getting something wrong or should I cast two shadow volumes for one object?

[This message has been edited by mikeman (edited 02-17-2004).]

[This message has been edited by mikeman (edited 02-17-2004).]

[This message has been edited by mikeman (edited 02-17-2004).]

[This message has been edited by mikeman (edited 02-17-2004).]

The silhouette is both. You can have multiple silhouettes.

Tried this?

Practical and Robust Shadow Volumes http://developer.nvidia.com/object/robust_shadow_volumes.html

Thanks!