X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=sor.frag;h=6c5333fa5ead7c960a96361ae16fd501638d7a6a;hb=37ed9122ae6d6e207439c73115810db47cdea490;hp=25f0ce56337732bc4e0206792b8c1ee2307a4351;hpb=1bb525830e6e0254eba4b8baf8848356d4fdd580;p=nageru diff --git a/sor.frag b/sor.frag index 25f0ce5..6c5333f 100644 --- a/sor.frag +++ b/sor.frag @@ -45,7 +45,10 @@ void main() b += smooth_d * textureOffset(diff_flow_tex, tc, ivec2( 0, -1)).xy; b += smooth_u * textureOffset(diff_flow_tex, tc, ivec2( 0, 1)).xy; - const float omega = 1.6; + // FIXME: omega=1.6 seems to make our entire system diverge. + // Is this because we do Gauss-Seidel instead of Jacobi? + // Figure out what's going on. + const float omega = 1.0; diff_flow = texture(diff_flow_tex, tc).xy; // From https://en.wikipedia.org/wiki/Successive_over-relaxation.