7
$\begingroup$

Some games claim to use subsurface scattering but my current understanding of sss is only achieved with ray tracing. How would you sub surface scatter without ray tracing? Do some claim to use sss but really use some approximation trick that doesn't use rays. I can't even imagine doing the below real time. enter image description here

$\endgroup$
  • 1
    $\begingroup$ One approach can be to render the back faces of a mesh to a depth buffer to compute an 'optical depth' which won't work so well for highly concave meshes but looks decent enough. http.developer.nvidia.com/GPUGems/gpugems_ch16.html $\endgroup$ – PaulHK Apr 21 '17 at 5:54
8
$\begingroup$

There are lots of ways to fake SSS with greater or lesser fidelity. A few recent-ish methods:

  • Screen-space blurring of object lighting (described in detail here)

screen-space light blurring

  • Using “interior” ambient-occlusion maps generated from a normal-flipped version of the geometry to approximate local thickness, providing an easy way to fake light transmission (more information here, with an addendum here)

local thickness map

There’s also the assortment of techniques in the GPU Gems article PaulHK linked to. One thing I’d add is about the light-falloff-texture approach mentioned at the beginning of it, which Valve used for a couple of interesting effects in Source games in addition to fake SSS—see their $lightwarptexture documentation for some information about that.

Team Fortress 2 illustrative rendering

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.