After settling on a volume size of 128x64x64 it was then a case of finding and eliminating light leaks. This largely involves cloning walls and floors between areas of high contrast to prevent samples from bleeding. It's a pain but fairly straightforward and with a high enough volume density is only necessary in a few key areas. Where I to increase the volume size to 256x128x128 then the light leak issue would probably solve itself, shortly followed by sparks flying out of my graphics card.
For these shots I'm also trialling the use of six separate colours per voxel. In previous light volume posts I was storing one colour value and six luminance values. It remains to be seen if this approach will be practical in the long term but it definitely looks nicer. These screen shots are all taken directly from an XNA based rendering test bed. The test bed is largely unoptimised and was running the scene at about 20-30fps.
The lighting volume was rendered in Bluestone and took about 12 minutes in total. As it's a light volume we have lighting information for the entire space so giant animated robots are easily supported...
...stay tuned for a video :)
4 comments:
Looks pretty good! Nice work :)
Wow, looks great. Minus the direct shadows, but I assume that is not your area of work.
What kind of shadow sampling is that? Are you using some sort of random noise to offset the sampling coordinates in the shadow map?
BAD shadow sampling ;) It is using a random offset but a few of the parameters were badly set for these scenes so the direct shadows look terrible!
Post a Comment