Cross Bilateral Filters for Skin Shading


Hope you all don’t mind a plug for a cool skin paper written by Morten Mikkelsen. Morten is a programmer for the ICE team at Naughty Dog, and he has put together a technique getting faster skin shading using a full-screen buffer.

The paper:
http://jbit.net/~sparky/subsurf/cbf_skin.pdf

Gamedev.net discussion:
http://www.gamedev.net/community/forums/topic.asp?topic_id=581761

In Morton’s words:
Essentially, it’s a screen-space approach to simulate subtle effects of local subsurface scattering. Convolution is done in a separable way which makes it fast
and the cost of simulation is not affected by the amount of lights, light model or the amount of characters on screen.

The core idea to this work (which is derived in the paper) is that convolution by a Gaussian, across a surface, can be expressed as the cross bilateral filter (cbf)
in screen-space. The distinction between regular just blurring in screen-space and using the cbf is shown in figure 3. Using the idea to make results appear more skin like are shown in figures 4 and 5.

So if you are into skin shading you should check it out. For current-gen consoles, we can barely afford the most basic of lighting models (blinn-phong with fresnel), so it’s probably a little optimistic to hope for full-screen subsurface scattering in the near term. In the future though, anything is possible. In particular, what I like about the full-screen techniques is how they handle lightmap resolution.

In U2, for cutscenes, we render the lightmap into UV space, and then use the blurred version of that buffer for subsurface scattering. But when we have a closeup of Chloe’s hand, her fingers occupy such a small area in UV space that our approach doesn’t really work. With a fullscreen approach however, you always have enough resolution exactly where you need it.

As we start thinking about the next generation of consoles, it’s possible that we could afford some kind of subsurface scattering on all characters in realtime. Getting faster full-screen approaches seems like a promising avenue.

Anyways, check the paper out!

4 Responses to “Cross Bilateral Filters for Skin Shading”

  1. That does look pretty awesome, I’ll definitely have to read that in more detail. Thanks for sharing!


  2. Love hearing about game papers that aren’t published in one of the more traditional contexts. Thanks very much for sharing!


  3. Glad to help!


  4. Thanks John :)

    Just thought I’d mention that you can download captures of what it looks like animated.

    There is a compressed version of the movie

    http://www.jbit.net/~sparky/subsurf/skin_notrans_comp.avi

    and an uncompressed

    http://www.jbit.net/~sparky/subsurf/skin_notrans_unc.avi

    Enjoy :)