Subsurface Scattering (translucency) - proof of concept

So, whilst I figure some stuff out in XSI, I figured I’d do a proof of concept of an idea I have for faking translucency. I did it in blender because I knew how to do it without actually having to think very much. How do you people live without an undo feature btw?

Cheers!

http://macke.dyndns.org/render/subsurfscattering.jpg
http://macke.dyndns.org/render/subsurfscattering2.jpg
http://macke.dyndns.org/render/subsurfscattering3.jpg

  • EDIT -

And using the same settings, but this time with cessen’s most exquisite Oren-Nayer-Blinn illumination model, renders slower, but not much.

http://macke.dyndns.org/render/subsurfscattering4.jpg

Wonderful stuff macke.

It is an alien comforter?

Stefano

Very nice indeed. Is that done with a single material on a single mesh or is there more to it?

and this was done in blender?, enlighten us please!

The same way you used to :wink:

Back on topic, is that technique dependent on the light source? Or is it a faked method with blend textures controlling emit etc? It looks quite nice.

Looks very cool and hot-glowing. Pliiiiiiiiz, tell us how it´s done!

great! just one question: HOW?

cya henrik

Those are nice results. What’s your technique, or are you planning a patent?

already figured it out…

will post a blendfile

here goes…
correct me if i’m wrong

http://www.dotblend.com/sss/sss.jpg

file

http://www.dotblend.com/sss/sss.blend
little xtra
http://www.dotblend.com/sss/SKINSHADER.blend

Looks almost right. The only thing missing is specularity. That could of course be made with a duplicate, transparent object with specular transparency… Nice going, dotblend!

Interesting… Jamesk, hehe exactly what I thought, but that would spoil the fun, if you had to make a duplicate and all that stuff, I’m sure it’s easier. dotblend, nice thinking!

Broken: Oh, well then! ;o)

Dotblend: Well, you definatly nailed the basics of it. See, it’s faked since it doesn’t take into account the thickness of the model. There is no volume calculation going on at all. But it looks kind of nice still because of the way the blend texture seems to go through the model in question. There are of course limitations with this method, such as the fact that it’s not accurate at all, and there is no internal shadowing going on and numerous other things. But it’s a nice hack and moreover, it’s fast. With refinement I think this technique could be quite well indeed. However, in my example I have the blend texture set to col and emit, because it then behaves like light, so the material itself doesn’t have to be shadeless, have a look:

http://macke.dyndns.org/blends/sss.blend

I’m sure you can build on this idea much further, to include things such as volume textures (to break up the even distribution of ‘light’) and perhaps with some tricks even nice shadows (although I have no idea how).

Perhaps you can even write a shader for yafray that does this. I’m not aware of yafray’s shading capabilities, but that renderer sure comes along nicely and I hope for your sake that it gets integrated into blender in a not too distant future =)

Cheers!

Ps. I didn’t include the blend at first because I wanted you to come up with the answer to this idea yourself, as it is very easy.

Jamesk: That’s what he did wrong, he used a shadeless material. However, with shadeless off you can have specularity using the phong illumination model (I found it was easier than with blinn). You can even make it with the toon shading, allthough it’s a bit harder to get nice results but it’s not that hard =)

I also found setting the ref value really low added to the look and feel a lot more. It made it look less ambient sort of.

Fun stuff, macke! I was just thinking about the ‘volume’ and thickness part of it. That issue needs to be fixed… I think I’ll play a bit with this, pretty cool looking stuff.

Well, as far as defining a volume of the material goes, I think that’s pretty much impossible without adding further code to the blender source code. But with some tricking with speculars and this method you could get kind of nice results I think.

Of course. Just more faking! It will probably work… The upside is that things are slightly faster than real SSS in a raytracer :smiley:

Halos and colorbands are really much more useful than I usually realize…

Are you kidding me? =)

This is WAY faster than any sss simulation I’ve tried so far, so if all you need to do is place specular highlights and do clever gradient tricks then by all means, this trick will do fine in most situations. It’s insanely fast compared to raytracing.

I needed one of those “serious understatement”-smilies next to my ‘slightly’ above, but alas, there was none :smiley: