@@ -201,7 +201,7 @@ function supportRenderTextureFormat (gl, internalFormat, format, type) {
201
201
gl . bindFramebuffer ( gl . FRAMEBUFFER , fbo ) ;
202
202
gl . framebufferTexture2D ( gl . FRAMEBUFFER , gl . COLOR_ATTACHMENT0 , gl . TEXTURE_2D , texture , 0 ) ;
203
203
204
- const status = gl . checkFramebufferStatus ( gl . FRAMEBUFFER ) ;
204
+ let status = gl . checkFramebufferStatus ( gl . FRAMEBUFFER ) ;
205
205
return status == gl . FRAMEBUFFER_COMPLETE ;
206
206
}
207
207
@@ -400,7 +400,7 @@ function createProgram (vertexShader, fragmentShader) {
400
400
gl . linkProgram ( program ) ;
401
401
402
402
if ( ! gl . getProgramParameter ( program , gl . LINK_STATUS ) )
403
- throw gl . getProgramInfoLog ( program ) ;
403
+ console . trace ( gl . getProgramInfoLog ( program ) ) ;
404
404
405
405
return program ;
406
406
}
@@ -423,7 +423,7 @@ function compileShader (type, source, keywords) {
423
423
gl . compileShader ( shader ) ;
424
424
425
425
if ( ! gl . getShaderParameter ( shader , gl . COMPILE_STATUS ) )
426
- throw gl . getShaderInfoLog ( shader ) ;
426
+ console . trace ( gl . getShaderInfoLog ( shader ) ) ;
427
427
428
428
return shader ;
429
429
} ;
@@ -858,8 +858,10 @@ const vorticityShader = compileShader(gl.FRAGMENT_SHADER, `
858
858
force *= curl * C;
859
859
force.y *= -1.0;
860
860
861
- vec2 vel = texture2D(uVelocity, vUv).xy;
862
- gl_FragColor = vec4(vel + force * dt, 0.0, 1.0);
861
+ vec2 velocity = texture2D(uVelocity, vUv).xy;
862
+ velocity += force * dt;
863
+ velocity = min(max(velocity, -1000.0), 1000.0);
864
+ gl_FragColor = vec4(velocity, 0.0, 1.0);
863
865
}
864
866
` ) ;
865
867
@@ -934,10 +936,17 @@ const blit = (() => {
934
936
gl . clearColor ( 0.0 , 0.0 , 0.0 , 1.0 ) ;
935
937
gl . clear ( gl . COLOR_BUFFER_BIT ) ;
936
938
}
939
+ // CHECK_FRAMEBUFFER_STATUS();
937
940
gl . drawElements ( gl . TRIANGLES , 6 , gl . UNSIGNED_SHORT , 0 ) ;
938
941
}
939
942
} ) ( ) ;
940
943
944
+ function CHECK_FRAMEBUFFER_STATUS ( ) {
945
+ let status = gl . checkFramebufferStatus ( gl . FRAMEBUFFER ) ;
946
+ if ( status != gl . FRAMEBUFFER_COMPLETE )
947
+ console . trace ( "Framebuffer error: " + status ) ;
948
+ }
949
+
941
950
let dye ;
942
951
let velocity ;
943
952
let divergence ;
0 commit comments