top of page

Skin Rendering

Demo Video:

 

(Please use a computer screen to play the video in order to get a better experience) 

Intro

This is a project aimed at rendering realistic skin in real-time in OpenGL

 

Here I’ve implemented three methods:

Pre-integrated Skin Shading

Separable Subsurface Scattering

Screen space subsurface scattering using Burley’s normalized profile

TAA is used to reduce sampling noise and smooth zigzag edge

IBL is used to get a more realistic lighting

Shadow mapping is NOT implemented in this project

Pre-integrated Skin Shading

A lot of hacking, little math, low-cost method.

Could easily be insert into almost all pipeline (Forward or deferred)

Approximate real-skin with the cost of only a few additional textures(two LUT texture, one blurred normal map)

Almost no additional compute cost at runtime(relative to separable SSS or sampling method)

Here I used a compute shader to compute the LUT of skin shading before the rendering loop.

And a pre-computed curvature map of the head model is used to look up from the LUT.

The final normal dot light vector calculation used different normals for RGB channel (Used two normal texture, original and blurred, for interpolation)

Separable SSS

This is a screen space method

Approximate Kernel with truncated SVD

Used two passes of 1D convolution instead of a 2D convolution

Great quality with little GPU computing time

Screen space SSS with Burley’s profile

Profile from offline rendering

High quality scattering with the cost of screen-space sampling (Aligned to tangent space of the texel)

Used random rotation in screen space to reduce noise

Used inverse sampling of normalized burley's profile to get sample point

Can get physically plausible result with correct scatter distance of RGB

This is the subsurface scattering solution in unreal engine and unity’s HDRP

No SSS, point light only

Pre-integrated, point light only

Separable SSS, point light only

SSSSS with Burley's profile, point light only

No SSS, point light+IBL

Pre-integrated, point light+IBL

Separable SSS, point light+IBL

SSSSS with Burley's profile, point light+IBL

No SSS, point light+IBL

Pre-integrated, point light+IBL

Separable SSS, point light+IBL

SSSSS with Burley's profile, point light+IBL

bdwhst's portfolio

©2022 bdwhst 版權所有。透過 Wix.com 製作的理想網站

bottom of page