Jump to content
  • Advertisement
Sign in to follow this  
SaTANO

EVSM negative moments

This topic is 2881 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

My current version of EVSM store only positive moments and reduce bleeding quite well but there are still some bleeding problems.

I read there is a way to significantly reduce bleeding with negative wrap but I am not sure how to do it.

Here is what I think should work:
- I wrap moment of negative depth. Well everything bellow 0 got into 0 - 1 range and I am using e^(c*d*-1.0) and bigger the depth is smaller values will be stored => if negative moment is bigger than scene depth, I am in shadow (just reverse to positive moment)
- ok I stored moments into RGBA32F and compute positive and negative Chebyshev bound and use minimum of them

Now I should be able to reduce bleeding but nothing seems to help. If I use only negative moments I got similar looking shadow so I think my computation is correct

Possible problem should by with constant because I am unable to use higher constants (c>5.0) for negative wrap because I don't see almost any part of shadow. I am using c=40 for positive wrap without problem but I am not sure if negative moments are stored correctly.
Maybe I misunderstand something so any help will be welcome.

thx

///////////////////////////////////////////////////////////////////////////////////////////////
update
Values are stored correctly I just use too big max value. Here are pictures from scene (PSSM using EVSM with 3x 1024x1024):

shadow from negative moments:
negative

shadow from positive moments:
positive

As you can see negative moments cover smaller area so final shadow will be same as shadow from positive moments. Maybe z distance difference between objects is too big so bleeding cannot be successfully reduced.

[Edited by - SaTANO on September 1, 2010 3:55:07 AM]

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!