Separable Subsurface Scattering for Photo-realistic Real-Time Skin Rendering.

Originally presented in a paper by Activation-Blizzard in coordination with the University of Zaragoza and the Vienna University of Technology. The aim was to provide a method for increasing the realism of organic materials in a way that could run fast enough to be used in real-time simulations and video games.

This project involved implementing this technique using the modern Vulkan API (rather than DirectX/Direct3D) and combining it with an translucency/light transport algorithm to prove that efficient realistic run-time organic rendering is possible when using the modern tools available to game developers. The project pulls together important key elements of research from many different papers to produce the best results while keeping the solution scalable by applying it entirely in screen space. The end result runs in only 0.35 milliseconds per frame and is detailed enough to make it a perfect effect for first-person real-time scenarios.

The effect uses a pre-integrated separable filter kernel calculated using values from the Three-Layer Skin Model and runs in 2 passes each with a single 1-dimensional convolution for efficiency. The pre-integrated method can be used to estimate the diffusion of light accurately with very little run-time over-head. The translucency algorithm, based on Simon Green’s work, for calculating light transport through thin parts of the body such as ears helps to improve the quality of lighting, especially when light is behind an object.

In short, the method used in this project is fast and efficient while producing realistic results while also being parameterised in such a way to be easily tweaked by an artist.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: