Jump to content
  • Advertisement
Sign in to follow this  
xycsoscyx

Calculating Shadow Geometry

This topic is 4435 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm sure this has been asked, but I'm having trouble finding anything specific when searching through things. I wanted to find out about calculating the shadow volume geometry for my levels. Everything I find has information about calculating adjacency and etcetc, but it's A) all index based (the models use the index buffer, and adjacency is calculated off the indices), and B) using whole (no holes in them) models. My world is made up of sectors, with doors from one sector to another. These doors cause holes in the models (and I don't want to calculate one big buffer). Mostly, I am looking into GPU assisted stencil shadows, create extra geometry when needed for the models, and let the GPU extrude the volumes, but I don't know if this will work with how I handle my levels. On another note, shadows, in general, seem to have slowed down in advancement. I haven't seen much lately for new shadowing techniques, am I just missing a lot?

Share this post


Link to post
Share on other sites
Advertisement
Shadow volumes cant be reliably extruded from open meshes...so basically if you have walls with holes in them you have to somehow preprocess them to be closed.

Basically shadowing methods are now mostly going in the image space direction: i.e. shadow mapping. Shadow volumes are so limiting that they are not a good solution for many applications.

Share this post


Link to post
Share on other sites
Quote:
Original post by Matt Aufderheide
Basically shadowing methods are now mostly going in the image space direction: i.e. shadow mapping. Shadow volumes are so limiting that they are not a good solution for many applications.


Agreed. I saw a recent post over in the DirectX forum hyping the geometry shader mechanism in DX10 as a viable way to generate shadow volumes -- but I'm still not sold. Also, what about transparent and alpha tested surfaces??? With an image based solution all of this stuff is dealt with in a much more "unified" and elegant way.

Share this post


Link to post
Share on other sites
Yeah, I tried looking into stencil shadows, and while still a nice method, are nice too limited. I have my shadow mapping re-implemented into my engine (and a much cleaner implementation this time, sweet), but am back to my original reason for looking elsewhere. Primarily, aliasing artifacts, it can be solved a bit by up'ing the resolution of the shadow maps, but at the cost of performance. I know there are numerous techniques to even out the shadow maps, so that the pixelation becomes less apparent, but have any of these methods become more refined or robust?

Share this post


Link to post
Share on other sites
Quote:
Original post by xycsoscyx
I know there are numerous techniques to even out the shadow maps, so that the pixelation becomes less apparent, but have any of these methods become more refined or robust?


Yes -- absolutely. There's the variance shadow map implementation which looks promising -- but still has a way to go. I'm not personally sold on it yet.

Then there's arguably other alorithms like perspective and trapezoidal shadow maps. I've found them to have too many pain in the butt special cases to really be robust enough to deal with.

My favorite compromise at this point is cascading shadow maps. There have been a couple of threads floating around here lately about them -- try looking them up.

Share this post


Link to post
Share on other sites
Yeah, the shadow map vs shadow volume decision is complex one, dendent on your game and the target hardware. But generally shadow volumes work better on characters and small objects, if you are trying to use them on arbritary scene geometry you are probably not playing to their strengths, you should consider shadow maps.

Share this post


Link to post
Share on other sites
Wow, busy with work for a few months and BAM. I'm looking up numerous approaches, though a lot seem to be theoretical or purely software implementations. I'll have to look more into cascading shadow maps.

Share this post


Link to post
Share on other sites
Not trying to hijack this thread or anything - but I had a question I was dying to ask for days.

What technique did Splinter Cell (2003, I thought this was something to keep in mind) use? I think they use a shadowmap, but how do they blur the edges so much and make it seem so soft?

Free Image Hosting at www.ImageShack.us

Another thing is that this runs on my Geforce4 MX which does not have hardware depth readback/comparison required for shadowmapping (nor fragment shaders which seem to be required for the new Variance SHadow mapping technique). I have myself implemented a "dual texture" method which, to be frank, looks terribly aliased and far far inferior to the above screenshot.

Share this post


Link to post
Share on other sites
I'm gonna go with percentage closer shadow mapping on the character. For the rest of the game, I'm pretty sure they have some funky dynamic lightmapping stuff going on...

Share this post


Link to post
Share on other sites
Quote:
Original post by deavik
What technique did Splinter Cell (2003, I thought this was something to keep in mind) use? I think they use a shadowmap, but how do they blur the edges so much and make it seem so soft?


You sure this is a shadow map ? It's hard to see, but i don't think there's self-shadowing on the character, which hints that it could be simple projected shadows (and which would also explain why it runs on a GF4 MX).

Y.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!