Download: lcNextGenShader_1.2.fx
Update includes the following changes/additions:
A skin style SSS approximation for soft skin rendering, and a gloss map input for changing the size/shape of the specular highlight, also the cube map reflections can be blurred based on specular glossiness. Extra – you can now choose to use Valve’s half lambert diffuse style instead of the standard lambert mode.
useHalfLambert – use Valve’s half lambert diffuse shading model – wraps light around forms more for a softer look, useful for backlighting situations
sssWeight - the overall intensity of the SSS effect
sssBack - Color of the SSS edge bleed effect
sssRadius - how far across the surface the SSS effect will bleed
useGlossMap - use a gloss map texture yes/no
glossBlurWeight - the overall amount of blurring to the env cube map reflections - 0 turns off the blurring effect
glossBlurMax - the specular glossiness value after which no blurring will happen - usefull for tweaking the blur amount based on your spec glossiness value
glossMap - the gloss map texture (darker values dont work very well here - black turn off specularity)
Thanks goes to Joel Styles – inspiration for the sss function - reading over your hlsl code makes for good learning