You need lots of samples for SSS
I did a bit a reseach on SSS for a ShaderX3 proposal before I gave up (and got a job instead).
The maths pretty much boiled down to this:
-For each texel, grab all the texels within a radius r. Where r is the radius where SSS has a visible effect, measured in the order of millimetres.
-For each texel within radius r, calculate its SSS effect via some sub surface scattering transfer function.
-sum all SSS values to find the output SSS value.
-And for added complexity, take into account if the neighbouring pixels are in shadow or not.
Of course, lots of optimisations could be made here and there. And this doesn't take into account light transmission from the other side of the material. However I have yet to see (or think of) how to do this in real time, even on SM3.0 hardware. As the big problems are:
-Uh, multiple samples per pixel, it can easily get > 32 unless you start a optimising.
-You need to know the normal of each texel you sample (in order to determine the % of light entering.
-You need to know where your neighbouring texels are, makes stuff hard if you hit a texture boundry.
Now, granted I have done a google on SSS for over a year now, and with all things 3d, its not how you implement an algorythm, its how you hack something up that looks and acts like said algorythm, but in realtime
Oh, this is doing it in realtime, instead of using PRT. So maybe this post is for naught.