Every frame, the final SSAO + SSDO combination will be weighted with previous frames. In order to avoid ghosting, there is a shift on weight percentages when the camera is moving, giving eventually more weight to the historic values when static.
Radious: Every frame, the projected circle where samples are evaluated gets the radious scaled by a random scalar read from a noise texture.
Angle: Every frame, if the number of evaluated samples is smaller than all KERNEL_SIZE samples. A jittering along evenly divided circunference sections will be applied.
This is an optimization that reduces computation costs if large areas of the screen are skybox.
I’m very grateful for Jorge Felix-López Moreno’s help throughout my work, especially on answering my questions on rendering!