Frustum aligned volume integration - aliasing issue - temporal reprojection Raw volume raymarching especially aligned with frustum seem to produce a lot of aliasing/banding on edges of shadow map. Especially when fragment pos is far because step length is then getting bigger. Making some research how to correct it I found out about temporal reprojection technique.

So basically I have an two 2D textures, current and previous where I store exponential moving average of raymarching result of previous frames like:

$s(n) = w*f(n)+(1-w)*s(n-1)$

where:

$w$ - weight

$f(n)$ - current frame calculation

$s(n-1)$ - result of previous frames calculation

This seem to be working when camera is moving because then bands are moving and blending with each other. But when camera stands still everything returns to normal. I tried to:


add some noise aligned with ray direction to starting position every other frame but banding is still at the same positions
add noise not aligned with ray direction but then bands are shifted ramdomly and raymarching results are wrong


Here (FrostBite engine) it is smooth constantly independent of camera movement.  

So is there a way to simulate camera movements? Or any other technique to correct the issue?

Here you can download some content describing subject.
You can look into alias-free volumetric sampling algorithm by Huw Bowles for potential solution to the ray marching aliasing issues. The basic idea is to snap your samples to planes based on the ray direction that's best explained with this Shadertoy demo.