Question about the outdatedness of certain shadow volume technique.

Started by
4 comments, last by grill8 14 years, 7 months ago
Hello, I am currently working on implementing shadows in my game engine. From what I understand during my web research I am likely going to go with shadow volumes. I am developing for DirectX 9. I found the following paper/demo on the web and that seemed like the most optimal route but the paper is from 2004. So ... my question is ... is the following paper/demo outdated? Are there more effective/efficient solutions now available? If so, where can I find information on them? The paper I am considering basing around can be found at: http://developer.nvidia.com/object/fast_shadow_volumes.html Thank you for your help. Jeremy
Advertisement
Take my answer with a grain of salt because I am not really a graphics programmer but I say "Nope, not outdated"

My reasons are this:

Technical papers written by Nvidia actually tend to be more useful after they write them as apposed to game developer's papers that are more useful immidiately. Nvidia is commonly trying to take advantage of new features of their video cards in their demos which you may not be able to assume exists for a couple years to come. If anything being a couple years later may just be helping the "usefulness" of the paper.

That said, shadows needs change a lot game to game and the algorithm may not be appropriate depending on what your needs are. From number of lights to visual style and available memory different algorithms may be more appropriate. I would fully understand the strengths and weaknesses of an algorithm along with my exact needs.
// Full Sail graduate with a passion for games// This post in no way indicates my being awake when writing it
Haven't read that particular NVidia write up, but shadow-volume techniques are still being used in a lot of games.

The main alternative is shadow mapping.
In thinking about what you said, yes, that does seems logical. If they were pushing their high end stuff several years back with that paper than it is probably not until now that there is enough of an audience to target reliably.

Yes, from what I have found on the web it still seems that shadow volumes are widely used. I am just trying to figure out if their are newer optimizations and techniques to use since the writing of that paper. There are likely newer approaches.

There are no shaders used in their approach with that paper. It seems that geometry shaders could definately be used to extrude the shadow volumes although it is my understanding that that doesn't have enough of an audience yet either.

I would love to hear about any newer approaches or suggestions if anyone has any.

Thank you for your help.
Jeremy
If you're talking about your average game for the PC/Xbox 360/PS3, then shadow maps have become much more popular than shadow volumes. This is mainly because shadow maps are more straightforward and flexible algorithm, and also scale much better with geometric complexity. There's also much more promising research into new methods for improving the quality of shadow maps, like all of the recent variance shadow map stuff.

Shadow volumes were pretty popular on the previous generation of consoles (and the Wii) because they made sense for that hardware: you didn't really have flexible pixel shaders to work with, so creating shadows by doing some vertex work on the CPU or in the vector units of the PS2 made sense.

Some games do actually mix both...for instance shadow volumes handle point lights better since they don't require rendering depth to 2 or more buffers for a single light source.
Thank you all for your help.

I did some research into Cascaded Shadow Maps and they seem straightforward enough and scalable long term (there are techniques for multi-pass, DX9 partial acceleration, and DX10 accelerated as well).

I think I will go with that as, like you say, there are advancements being made on the subject.

The GPU gems 3 book has some nice information on the topic that helped describe it nicely if anyone is interested.

Thank you for your help.

Jeremy

This topic is closed to new replies.

Advertisement