Sign in to follow this  
JohnnyCode

variance shadow mapping

Recommended Posts

hello all, I have this question about VSM. It's algorithm goes like this:
float ChebyshevUpperBound(vec2 Moments, float pixdepth, float g_MinVariance)  
{  

    float p = float(pixdepth <= Moments.x);


    float Variance = Moments.y - (Moments.x*Moments.x);
    Variance = max(Variance, g_MinVariance);


    float d = (Moments.x - pixdepth);
    float p_max = Variance / (Variance + d * d); 

    return max(p, p_max);
}

see line : float d = (Moments.x - pixdepth); this means that further the pixel is the stronger shadow I get... with this approach I get lighter shadow in areas closer to occluder and darker ones further from occluder. This is just wrong as I would like to have constant shadow. How can I achieve constant shadow area ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this