PDSS – Pre-Integrated Skin Scattering

Skin scattering using our method, showing its quality and scalability. 1650 x1080 frames are rendered in 2.2ms on a NVIDIA GeForce GTX570.

Skin scattering using our method, showing its quality and scalability. 1650 x1080 frames are rendered in 2.2ms on a NVIDIA GeForce GTX570.

Pre-Integrated Deferred Subsurface Scattering is a screen-space shader method to get fast and scalable subsurface scattering. It is based off Pre-Integrated Skin Shading (Penner and Borshukov, SIGGRAPH 2011, and adapts it to a deferred rendering pipeline. By reusing the curvature calculations from skin shading, it’s possible to get dynamic screen-space ambient occlusion (SSAO) for pretty much free!
This was my UNSW Computer Science honours thesis project, and will be presented as a poster at SIGGRAPH 2014.

Quick Overview

Overview of our PDSS method.

Overview of our PDSS method.

An overview of our PDSS approach is as follows:

  1. Render the scene to G-Buffers, same as in ordinary deferred lighting.
  2. Calculate curvature by taking central differences in world space.
  3. After this, diffuse curvature and normals with a cross-bilateral filter.
  4. Then we calculate all the lighting similarly to PSS, reusing curvature for ambient occlusion.

For the details, please have a look at the poster in the download section below. Otherwise, feel free to grab the shader code for a TLDR version.

Downloads

Real-time skin rendering using our method, pre-integrated deferred subsurface scattering (PDSS).

Real-time skin rendering using our method, pre-integrated deferred subsurface scattering (PDSS).

SIGGRAPH 2014 Poster

Fully Detailed Honours Thesis Report

Source code files:

Full demo project code will be up for download soon!

Share Button

Leave a Reply