Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Flavien Brebion, posted on December 03, 2002

Image Description, by Flavien Brebion

This is my 4th contribution to flipcode's IOTD, although the last one was more than a year ago :) I've been working on real-time soft shadows during my free time recently, and couldn't resist posting an image of my results.

The technic is based on a render-to-3D texture approach. It's based on an extension of shadow volumes, which means it handles self-shadowing and point lights perfectly. In a first pass i render the shadow volumes to the first depth of a 3D texture, and i then blur the next depths recursively in hardware. When it's done, i calculate a "sharpness" coefficient per-vertex, which takes into account the distance to the viewer and to the light, and i render the scene again, with the full lighting equation, modulated by the 3D "shadow map", which i sample based on the sharpness coefficient.

It's not perfect, but the results look pretty decent. The demo from which these images were taken only works on a Radeon 8500+, and run at 15-20 fps average on an Athlon 1.4 Ghz. It uses vertex shaders and pixel shaders, for shadow volumes extrusion, dot3 bump-mapping, specular and gloss-mapping. The CPU is almost idle, if it wasn't for rendering the environment bump-mapped water (requires render-to-texture too). The bottleneck is coming from fillrate, but surprizingly, not from the soft shadows part. Tested with standard shadow volumes, the demo runs at 20-25 fps average, which means the soft shadows is only slowing it down by 20-25%. The scene is not very complex, but also not obvious (around 15k tris).

Two DIVX videos are available on my website:

I'll try to post the executable in a few days, plus some source code. No Geforce 3/4 convertion is planned at the moment (no time!).

F. Brebion

Image of the Day Gallery


Archive Notice: This content is archived, and commenting is no longer active. It is here for reference purposes. This content was added on an older version of flipcode, before the site closed in 2005.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.