#ifndef UNITY_COMMON_SHADOW_INCLUDED
#define UNITY_COMMON_SHADOW_INCLUDED

// Ref: https://mynameismjp.wordpress.com/2015/02/18/shadow-sample-update/
// Calculates the offset to use for sampling the shadow map, based on the surface normal
real3 GetShadowPosOffset(real NdotL, real3 normalWS, real2 invShadowMapSize)
{
    real texelSize = 2.0 * invShadowMapSize.x;
    real offsetScaleNormalize = saturate(1.0 - NdotL);
    // return texelSize * OffsetScale * offsetScaleNormalize * normalWS;
    return texelSize * offsetScaleNormalize * normalWS;
}

#endif // UNITY_COMMON_SHADOW_INCLUDED