Sign in to follow this  
mmikkelsen

practical and deferred skin rendering

Recommended Posts

mmikkelsen    236
This is a technical paper of a research project. I am hoping this will
attract some attention and inspire more results.

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

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.

Note that these results were produced using only a single iteration of cbf.
Better results could be achieved by using multiple iterations similar to the six Gaussian used by Eugene d'Eon but this is a chosen compromise.


Enjoy!

Share this post


Link to post
Share on other sites
Hodgman    51342
Very cool. I know this isn't a new idea (you're just refining it), but unifying skin lighting (which used to be done in a seperate texture) with a regular lighting buffer isn't just elegant, but it also solves some management issues as well.

Did you try different ways to isolate 'skin' pixels in the lighting buffer, such as a stencil mask, a dynamic branch on material-ID, etc? Did you have any performance problems when you have close-up shots of faces (i.e. situations where most of the screen is skin)?

[Edited by - Hodgman on September 8, 2010 8:10:52 PM]

Share this post


Link to post
Share on other sites
taby    1265
Are you planning on submitting this to The Visual Computer, or Computers & Graphics, or something similar?

This is impressive work, and I think these journals would love to have it.

Share this post


Link to post
Share on other sites
mmikkelsen    236
Taby:
I was not planning on attempting publishing but you are making me
reconsider so thanks for the kind words :)

Hodgman:
I didn't experiment much with it but certainly thought about it.
Stencil as mentioned in the paper it an excellent way to optimize but on
the other hand the filter is not THAT expensive depending on whether or not you use multiple Gaussians in your reflectance profile.
As for different material IDs that would mainly be relevant if you wanted to use different reflectance profiles.

Darg:
Thanks :)

Share this post


Link to post
Share on other sites
mmikkelsen    236
I did some video captures that I think you guys might like. I am in the process of porting my code to d3d11 and I don't have transmittance in yet but here it is.

I uploaded two versions of the movie. An uncompressed for those that really want to see the details

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

and a compressed one for those who want a quick download and just want an overall idea

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

Share this post


Link to post
Share on other sites
Sirisian    2263
Might want to upload it to vimeo or youtube. Should only take a few seconds.
// edit just watched that video. Looks really nice. Should had it open its eyes at the end with white eyes. That would have been scary. :P

[Edited by - Sirisian on October 6, 2010 8:44:17 PM]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this