MCPcopy Create free account
hub / github.com/DavidHDev/react-bits / step

Function step

src/tailwind/Animations/SplashCursor/SplashCursor.jsx:726–788  ·  view source on GitHub ↗
(dt)

Source from the content-addressed store, hash-verified

724 }
725
726 function step(dt) {
727 gl.disable(gl.BLEND);
728 curlProgram.bind();
729 gl.uniform2f(curlProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
730 gl.uniform1i(curlProgram.uniforms.uVelocity, velocity.read.attach(0));
731 blit(curl);
732
733 vorticityProgram.bind();
734 gl.uniform2f(vorticityProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
735 gl.uniform1i(vorticityProgram.uniforms.uVelocity, velocity.read.attach(0));
736 gl.uniform1i(vorticityProgram.uniforms.uCurl, curl.attach(1));
737 gl.uniform1f(vorticityProgram.uniforms.curl, config.CURL);
738 gl.uniform1f(vorticityProgram.uniforms.dt, dt);
739 blit(velocity.write);
740 velocity.swap();
741
742 divergenceProgram.bind();
743 gl.uniform2f(divergenceProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
744 gl.uniform1i(divergenceProgram.uniforms.uVelocity, velocity.read.attach(0));
745 blit(divergence);
746
747 clearProgram.bind();
748 gl.uniform1i(clearProgram.uniforms.uTexture, pressure.read.attach(0));
749 gl.uniform1f(clearProgram.uniforms.value, config.PRESSURE);
750 blit(pressure.write);
751 pressure.swap();
752
753 pressureProgram.bind();
754 gl.uniform2f(pressureProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
755 gl.uniform1i(pressureProgram.uniforms.uDivergence, divergence.attach(0));
756 for (let i = 0; i < config.PRESSURE_ITERATIONS; i++) {
757 gl.uniform1i(pressureProgram.uniforms.uPressure, pressure.read.attach(1));
758 blit(pressure.write);
759 pressure.swap();
760 }
761
762 gradienSubtractProgram.bind();
763 gl.uniform2f(gradienSubtractProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
764 gl.uniform1i(gradienSubtractProgram.uniforms.uPressure, pressure.read.attach(0));
765 gl.uniform1i(gradienSubtractProgram.uniforms.uVelocity, velocity.read.attach(1));
766 blit(velocity.write);
767 velocity.swap();
768
769 advectionProgram.bind();
770 gl.uniform2f(advectionProgram.uniforms.texelSize, velocity.texelSizeX, velocity.texelSizeY);
771 if (!ext.supportLinearFiltering)
772 gl.uniform2f(advectionProgram.uniforms.dyeTexelSize, velocity.texelSizeX, velocity.texelSizeY);
773 let velocityId = velocity.read.attach(0);
774 gl.uniform1i(advectionProgram.uniforms.uVelocity, velocityId);
775 gl.uniform1i(advectionProgram.uniforms.uSource, velocityId);
776 gl.uniform1f(advectionProgram.uniforms.dt, dt);
777 gl.uniform1f(advectionProgram.uniforms.dissipation, config.VELOCITY_DISSIPATION);
778 blit(velocity.write);
779 velocity.swap();
780
781 if (!ext.supportLinearFiltering)
782 gl.uniform2f(advectionProgram.uniforms.dyeTexelSize, dye.texelSizeX, dye.texelSizeY);
783 gl.uniform1i(advectionProgram.uniforms.uVelocity, velocity.read.attach(0));

Callers 1

updateFrameFunction · 0.70

Calls 1

bindMethod · 0.45

Tested by

no test coverage detected