Skip to main content
GameDev.net gamedev.net
🔒 Locked

practical and deferred skin rendering

Started by mmikkelsen Sep 7, 2010 at 5:29 PM 5 replies 8.6k views
Original Post
mmikkelsen
mmikkelsen
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!
Hodgman
Hodgman
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]
taby
taby
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.
Darg
Darg
Wow, very impressive results. Definitely saving that for a better look at when I have more time.
Portfolio & Blog:http://scgamedev.tumblr.com/
mmikkelsen
mmikkelsen
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 :)
mmikkelsen
mmikkelsen
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
Sirisian
Sirisian
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]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.