Sign in to follow this  
wh1sp3rik

Poisson-disk shadows filtering

Recommended Posts

wh1sp3rik    248

Hello,

 

I am trying to understand, how this technique is working.

 

I am using standard PCF technique

 

// PCF 3x3
for(int x = -pcf; x<=pcf; ++x )
{
   for(int y = -pcf; y<=pcf; ++y )
   {
	 float realDepth  = shadowTexture.SampleLevel(ss,float2(lightWorldPosition.x*0.5+(cascade*0.5)+shadowTexel.x*x, -lightWorldPosition.y+shadowTexel.y*y),0 );
	 if( lightWorldPosition.z > realDepth+bias ) {} else shadowFinalColor += 1.0;
   }
}

shadowFinalColor/=(2*pcf+1)*(2*pcf+1);

 

But for good looking shadows, i have to use higher pcf values, which is not a good way. Also, my code can be better i know, it¨s just for testing.

What's a easiest way to get possion.disk filtering working ? I will be happy with some snippets.

 

thank you very much !

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