As some of you may already noticed, I am again trying to get some usable shadowmapping for big outdoor environments to work.
I think the right way to put the names of different techniques together is what you see in the Subject: LiSPPSVSM
The V will probably get a PCS but for now it is a V.
Those letters stand for "Light Space Perspective Parallel Split Variance Shadow Mapping", PCS would make the "Variance" to "Percentage Closer Soft" wink.

The techniques I am using are as the name states:
1) Light Space Perspective Shadow Mapping: http://www.cg.tuwien.ac.at/research/vr/lispsm/index.html
2) Parallel Split Shadow Mapping: http://hax.fi/asko/PSSM.html
3a) Variance Shadow Mapping: http://www.punkuser.net/vsm/
3b) Percentage Closer Filtering / Percentage Closer Soft Shadows: http://www.cs.utah.edu/classes/cs5610/projects-2005/lha/

This is btw basicly the same as what has just been integrated into Ogre.

For those that don´t understand anything so far and aren´t interested in those articles, this is about realtime soft shadows for large outdoor levels.

So far I am done with the Parallel Split and the Variance Shadow Mapping and will hopefully get the Light Space Projective part done during the next hours, which means just a few lines more as everything is already prepared to work with it. That should again increase the shadowresolution a lot.

This is the very first screenshot I took of my shadows. It shows the first optimisation of the shadow resolution, which is the first part of what is explained in the LiSPSM Paper:


This is the same shadow as above but blurred using some kind of "Plug and Play" Percantage Closer Filtering from NVIDIA. The problem is that they forgot to attach the dx9 version to the paper (which btw seems to have disappeared) and some variables had wrong names and thus I had to convert the dx10 version to dx9 and fix the wrong names, which causes this due to a lack of optimisations to be very slow with this pretty high quality:


This shows the same technique as the first screenshot but already with a little variance shadow mapping and I am now using two depthmaps. This was the first breakthrough to parallel split shadow mapping:


This next screenshot uses three depthmaps with each a resolution of 1024*768 (which I did not want, but currently the results are strange when using 1024*1024).
This screenshot shows the best the current state of the shadows. As you see, I did not yet work on correct selfshadowing, very soft shadows and the right brightness, but just look at the shadowresolution smile :


This screenshot is a little bit faked in terms of shadowresolution because the first depthmap covers only a VERY small area which makes already the trunk to show pretty strong aliasing, but improves the Shadowresolution of the rest of the shadow a lot. But what you should look at here is the fps in comparison to the screenshot before. The only big difference is that I rewrote the Lite-C code and had due to a bug to change to the latest beta, which seems to have improved speed greatly:


I also hope to improve the speed a lot as posted here: http://www.coniserver.net/ubb7/ubbthreads.php?ubb=showflat&Number=223541#Post223541

At the moment I am using a dll for the math but I plan to "port" it to Lite-C.

I hope you like it so far and would of course like some kind of feedback and especially if someone is strong at matrix math, it would be great if someone could may contact me and help me with getting the lispsm to work, I will post an update as soon as it works as I am of course trying to get it to work on my own if nobody can help me :P.