You are not logged in.
- Registered: 2011-09-21
- Posts: 10
deep shadow map blur banding (striations)
I'm curious if there's anyone who has encountered this problem with blurring deep shadow maps and/or can shed some light on the issue.
When using particularly low-res deep shadow maps, regardless of smap pixel samples, it seems that low to mid range values of blur cause or accentuate banding type artifacts (or striations along the geo). If the blur value is cranked up higher it eventually takes care of the problem, but it's unlikely you'd want blur values that high all the time. A bias of 0.2 doesn't resolve the issue.
I notice this behaviour using maya lights, and maya lights with 3delight shaders (spotlight) and our own internal shader.
Currently, I'm getting better blurring results by lowering the map resolution even further and increasing the samples to smooth it out.
From other threads I gather that using blur isn't necessarily a bad thing.
I'm interested to know if this is a common issue, and easily overcome. And also, if anyone can explain what's happening under the hood when this is happening.
- 3Delight Developer
- Registered: 2007-01-09
- Posts: 1930
Re: deep shadow map blur banding (striations)
Have you tried increasing the filter size attribute on the light? This should translate into the "width" setting in the shadow() call and may be a better control in this case.
What you're probably seeing are the steps in the location of the surface as recorded in the shadow map at each row of pixels. These steps will be greater if you lower the resolution of the map and when the surface is far from facing the light (ie. the light is hitting the surface at a very low angle). The default filtering will usually do a good job of covering this up but it's possible there are cases where you need a larger filter, which is what blur ends up doing.
Bottom line is you get to choose between blur and increasing the shadow map resolution. It's just like a texture map: if you see the pixels, you need to either blur it up or increase the resolution.