Skip to main content
gamedev.net
🔒 Locked

variance shadow mapping

Started by JohnnyCode Mar 14, 2009 at 11:20 AM 0 replies 700+ views
Original Post
JohnnyCode
JohnnyCode
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 ?
JohnnyCode
JohnnyCode
pls, somebody, what could be the workaround?

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.