Game Development Community

Deferred rendering and parallel split shadow maps

by Adrian W · 04/10/2009 (9:02 am) · 15 comments

First attempt at doing the video thang so hope it all goes smoothly.

This is a demo of a very basic deferred rendering pipeline with parallel split shadow maps in TGEA 1.7.1. I thought I should put something up now as its starting to look pretty good, and I guess that as soon as T3D goes public beta real time shadows on everything will become commonplace.

The deferred renderer is very basic, just stores albedo, normal, depth and some flags. The demo was done on a radeon 3870, with 4 splits with 2048 square shadow map for each split, with each shadow map updated every frame.

Enjoy!


#1
04/10/2009 (9:09 am)
Fantastic ! Beautiful !
Any chance we could get this as a resource or a pack ?
#2
04/10/2009 (10:05 am)
Really, really nice. The awesome shadowing was one thing I was jealous of in T3D - but you've proven it can be done in TGEA too :)
#3
04/10/2009 (10:12 am)
Wow, that looks awesome Adrian!
#4
04/10/2009 (10:30 am)
Very nice Adrian. What are you plans for this in the long run? (A content pack/just a technical exercise?)
#5
04/10/2009 (12:24 pm)
Wow amazing stuff, i hope you end up releasing this at some stage for those of us who dont intend of ever upgrading to t3d :D
#6
04/10/2009 (12:41 pm)
I marked this as "liked" over at Vimeo..not sure when that will register.
Also, I added and tested your ATS files to a version of Tgea1.7.1 and I enjoyed testing it with a few architectural scenes.

good stuff A.W.!
#7
04/10/2009 (2:28 pm)
Def. cool bud!
#8
04/10/2009 (2:56 pm)
Looks good. Make sure you test it with realistic scenes for your game.... in particular your shadows. With a view dependent shadow (which traditional CSSM are) you need to draw the scene 4 times for 4 splits, so make sure you have a good lod scheme.
#9
04/10/2009 (3:04 pm)
I have enjoyed all your shadow work ..well dun... A resource wood be vary cool.
#10
04/10/2009 (3:30 pm)
Nice job Adrian!
#11
04/10/2009 (4:42 pm)
That is rather impressive. Does performance take quite a hit?
#12
04/10/2009 (5:15 pm)
Nice work. Looks great.
#13
04/10/2009 (5:39 pm)
Thanks for the cool feedback Guys!

I'm pretty chuffed with how this has worked out so far, but it's really just a learning exercise at the moment. It'll require a lot more work before even thinking about releasing a resource or a pack. The demo scene in the video is deliberately set up to show off the good points without exposing any of the bad!

Tom is absolutely right, the shadow map updates are the big frame rate hog. I can vary number of splits at run time, and reduce the frequency of shadow map updates per split (e.g. update far shadow maps less often than near), which increases perfomance at the expense of quality. Another thing I'm hoping for (mainly on the basis of looking at the shadows in STALKER SOC) is that with foliage on the terrain there may not be as much need to maintain shadow quality at far distances.

Also the code is a real mess at the moment and there are things I'm doing per frame that need moving to outer loops so hopefully there is some room for optimisation.
#14
04/11/2009 (1:41 am)
(Bryce is not available to comment, as he is speechless)
#15
04/12/2009 (7:05 pm)
Looks good. A lot of what I've seen mentioned on the tgeaenhanced blog as well as stuff you are messing with are also included in the Nvidia SDK for DirectX 9.

http://developer.download.nvidia.com/SDK/9.5/Samples/samples.html

If anyone is trying to add simular effects to what T3D is supposed to have, You can possibly get some ideas from the Nvidia SDK.

Chris