https://github.com/soraphis/Unity-Post-Processing-Effects/blob/master/Assets/SSAO/SSAO.shader#L86 i think if( dot(normal, sample) < 0.0f) sample *= -1.0f; should be: if( abs(dot(normal, sample)) < 0.0f) sample *= -1.0f;