Advertisement

You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

SSS Node under Development

39

teapot_sss.jpgBrecht is developing this new sub-surface scattering node. Though it's still under development it yields quite nice results already, and it seems Brecht has a few ideas up his sleeve on how to improve it even further in the future.

About half-way through the first page of this thread, Brecht posts about his SSS node. The thread later contains a couple of interesting comments from Brecht regarding more technical aspects of the node. More advanced users will find these useful.

ZanQdo has been generous enough to compile a Windows build with Brecht's SSS node patch at graphicall.org:

The Windows build can be downloaded here.

Thanks to Brecht for developing this node. Please keep up the magnificent work! It will be interesting to see what happens to this node in the future. For more images and the original patch go here.

About the Author

Mathias Pedersen

Read more about Mathias Pedersen (The M.h.p.e.) at www.mathiaspedersen.com

39 Comments

  1. I just tried it out before this article was posted, and it seems to work very well.
    Awfully slow though. Or it might just be my computer :)

  2. I keep hearing about Subsurface Scattering and how great it would be, and I've looked at a lot of picture comparisons, but being new to 3d rendering techniques I can't seem to understand what the effect is. It looks slightly better, but I don't understand what it's doing differently? Anyone care to explain?

  3. @Tom: This link isn't Blender specific but it explains sub-surface scattering a bit in the beginning.
    http://highend3d.com/maya/tutorials/rendering_lighting/shaders/135.html

    By Googling for half a minute, I found these links as well:
    http://en.wikipedia.org/wiki/Subsurface_scattering
    http://graphics.ucsd.edu/~henrik/images/subsurf.html
    http://www.neilblevins.com/cg_education/translucency/translucency.htm

    Hope they give you a better idea of what sub-surface scattering is (especially the last link, from Neil Blevins site, explains it quite well, as far as I recall).
    //Mathias

  4. This is great news. Thanks for doing this, Brecht. Funny, I just looked into the fake SSS technique using shadow buffer spotlights and toon diffuse shader and liked it so far, and now this comes up, which will be even better.

    Sanne

  5. @tom with a metallic material the light reflects directly at the surface, non-metallic material (skin for example) on the other hand, the light penetrates the material and scatters inside before being either absorbed or leaving the material. Hold your hand in front of a lamp and you will see the effect very clear, also notice that the effect is different if hand is illuminated from front or from behind.

  6. Thank you Mathias.
    It's really hard to understand the concept of some level of translucency in the surface of a teapot!

    (theorysavage = tom)

  7. It's amazing what kinds of things people can do when they're inspired to. What's even more amazing is how a person can feel as though something that's "not Blender-related news" can be irrelevant to the Blender community. I wonder how much longer it might have taken for Blender to get any kind of SSS solution in lieu of previous BN articles and related discussion...?

  8. Sep Pelan, sure, unfortunately my graphic card is damaged and they are fixing my computer, give me a couple of days for that Linux build, sorry :(

  9. Awesome dude!!

    ..just wanted to say.. Good Work!

    Blender is already very impressive,
    with people like Brecht blender will be more professional then the professional stuff in no time!

    can't wait untill the anti-aliased is integrated...

  10. BTW, is it normal that antialiasing doesn't work with this build? I mean, it works for a normal render, but as soon as I use the scatter node, all the edges of my model are aliased... If it's normal, will it be fixed?

    Thanks,

    S :)

  11. uuuuhhhh... i don't really see any results caused by the node... =|||

    i'm compositing a scene with Suzane lighten from behind - and she stays absolutly black...

    is there anything wrong???

  12. For all the people who think something doesn't work..

    Read the topic linked in the article. It's all explained in there. There's no Anti-Aliasing yet, the filter will be integrated in the renderer and backwards scattering currently only works by using a cool setup with an extra camera and node.

    Great stuff by the way! brecht rocks! :)

  13. For all those wondering or mistaken - it isn't 'real' SSS - it's just using a fake method but it's very close and looks quite good! Good work! - though I'd still like to see 'proper' SSS in blender soon!! Well done brecht!
    -epat. :)

  14. Kram1032, epat: Define 'real' with regards to computer graphics. Everything that's rendered from any app is an impression, a model. Even the most 'physically accurate' renderers are based on simplifications, on mathematical approximations of reality, and giving it a fancy name like 'unbiased' doesn't magically make it physically real, there are still differences in which phenomena a renderer has been coded to recreate, and what models it uses to do so. What's most important is that it gives you a perception of reality, and while some renderers use vey scientific methods of attempting that, it's not the only game in town.

    Brecht's method here is real in the sense that it uses Jensen's technique, but it's doing it by reconstructing the 3D surface from pixels, rather than faces. Of course this has lots of drawbacks and limitations, but from my layman's perspective at least, the technique of calculating the light interactions seems as 'real' as many others.

  15. epat, please explain what you mean by 'real' or 'proper' SSS. This method simulates a specific effect, multiple scattering under the assumption that the surface is no too thin, quite accurate and according to the BSSRDF. What effect is missing for this to be 'proper' SSS?

  16. Epat, according to Jensen's paper, this is a FAST SSS approximation where measurements showed that it is indistinguishable from real (AND OH SO SLOW) SSS calculations. So, yes, it is the real thing. Real forward scattering SSS. And if I'm not mistaken, the paper states that the more translucent (soft) the material is, the faster the calculation will be.

  17. I know ;)
    I didn't say, that I don't like the fake or something like that.
    I just wanted, to say, that biased renderers can't produce accurate SSS...

    SSSlow SSS is a good sign for beeing close to reality, btw :P

    real is really relative, at that moment at that you look at a computer-rendered picture / song / what ever.

    Quantum physics even say, that things from REAL LIFE don't exist, when you can't see them.
    Strange behaviour...

  18. argh forgot to mention that:
    It was meant to stop people asking, when there will be "real" SSS

    sry for double posting :S

  19. just noticed...

    on graphicall, brecht has posted (on 4/25) what he says is his last build. SSS is built into the materials panel, so there is no fiddling around with nodes, there is full antialasing, back SSS, and the utah teapot .blend and a .blend with two hands are included as examples...

    downloaded it today, works perfectly, not too unbearably slow (at least on my computer)

  20. hmm - to be honest, I can't really remember why I said it wasn't 'real' as it was a pretty long time ago when I posted that lol (I usually don't check at all once I have posted!!)! I have read Jensen's paper though and other papers on the subject and I agree that it is a very good and recognised method of approximation, used (with various slight modifications) in lots of renders with the ability to render SSS. Also, what Matt had to say is quite true. However, there are (or I know of at least one anyway) other methods for solving the radiative transport equation which I think also account for subsurface scattering in an infinite homogenous media of arbitrary shape and size which use an approximation that truncates infinate matrices and therefore is only limited by the size they are set to truncate to... assuming the user has an infinite, unlimited amount of time he could get 100% perfect, physically correct results (in fact, the results will always converge anyway so you can get results as physically correct as the floating point resolution on your computer in finite time) whereas, even if the error is set to 0, since the method brecht uses is based on the diffusion approximation you can only ever get an approiximation. Also, AFAIK the diffusion approximation only accounts for forward scattering that becomes isotropic whereas the other method accounts for all forms of the effect using exactly the same assumption that the phase function is normallised and that it depends only on the phase angle. Anyway, I might be wrong so don't take me on my word for it - I think there used to be a paper/article on it at: http://www.informaworld.com/smpp/content~content=a723730456 if you're interested although you have to register to actually read the article. I've no idea how fast this method would be as I don't think I've ever seen it implemented anywhere - the paper is pretty hard to follow and uses non-bogstandard symbols for variables as well so that could be why - but I think that the main values only have to be calulated once for a given phase function before they can be used to solve the radiative transport equation analytically so it would probably be pretty fast...
    -epat. :)

Leave A Reply

To add a profile picture to your message, register your email address with Gravatar.com. To protect your email address, create an account on BlenderNation and log in when posting a message.

Advertisement

×