Pages

Sunday, December 19, 2010

Fast Skin Shading Revisited


A screenshot of the free 3D human head scan model provided by Infinite-Realities rendered in MageDx

Sometime last week, i stumbled upon this website called Infinite-Realities and found out that they are offering a free download of their 3D head scan model. Incidentally around the same time last year, i was working on a skin rendering implementation and was looking around for a detailed 3D human head model (Though in the end i have to make do with an ogre look-alike head). So over the weekend, i decided to download the 3D head scan model and revisit my skin rendering implementation with it.

The first improvement i made on the skin rendering was the addition of the stretch correction map mentioned in GPU Gems 3. Because the distance of a surface in texel space and world space can be different, a naive blur in texture space will cause over blurring of texels around curves surfaces such as around the ears and the nose. The stretch correction map compensates for this over blurring by reducing the blur kernel width around curves surfaces.

The second improvement made was actually a bug fix on the computation of the kelemen/szirmay-kalos specular term. It turns out i was inverting the y-coordinate while sampling into the beckmann distribution texture.

The skin rendering looks more impressive when in motion therefore i have uploaded a video which you can view below. Enjoy!



No comments: