shaders 3.0.448 → 3.0.450
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +2 -2
- package/dist/core/{AngularBlur-xU811GPM.js → AngularBlur-4jt7bNoF.js} +15 -15
- package/dist/core/{Arc-DYvFxtGy.js → Arc-DXIfbBgd.js} +13 -12
- package/dist/core/{Ascii-ChE4BP7J.js → Ascii-GDof03Ca.js} +51 -53
- package/dist/core/{Aurora-BThE6pbb.js → Aurora-CS4vewUW.js} +63 -68
- package/dist/core/{BarShift-DdjkPSk3.js → BarShift-BtnYLQ0B.js} +31 -32
- package/dist/core/{BarnDoors-B_kxVuec.js → BarnDoors-Dw9K-amf.js} +21 -22
- package/dist/core/{Beam-C7zPHuIU.js → Beam-D_cyaMjJ.js} +32 -39
- package/dist/core/{Bend-CFcEjifF.js → Bend-CSs5UIh8.js} +27 -28
- package/dist/core/{Blob-CgUolAhz.js → Blob-h25zA5WH.js} +54 -60
- package/dist/core/{BlockDissolve-CLSxXB4e.js → BlockDissolve-CKN_KvLP.js} +21 -20
- package/dist/core/{BlockNoise-BgEJOicU.js → BlockNoise-DhKyd_F7.js} +16 -14
- package/dist/core/{BlueNoise-BqMtBLxM.js → BlueNoise-Auhzq4x5.js} +12 -10
- package/dist/core/{Blur-Xaa6jVPT.js → Blur-CcxMqYsu.js} +27 -27
- package/dist/core/{Boids-B8QUNxRL.js → Boids-D51U46GF.js} +916 -787
- package/dist/core/{BokehBlur-B5fql96U.js → BokehBlur-Cfaqbh3I.js} +104 -104
- package/dist/core/{BrickPattern-EAD5HD4e.js → BrickPattern-tASwilX0.js} +34 -38
- package/dist/core/{BrightnessContrast-mbv32DkA.js → BrightnessContrast-ZCKqJW7i.js} +9 -10
- package/dist/core/{BrushedMetal-B10fDdGt.js → BrushedMetal-B6gSVB28.js} +81 -84
- package/dist/core/{Bulge-C1Pq4DHk.js → Bulge-dCYtWP4S.js} +19 -19
- package/dist/core/{CRTScreen-Ctx0Mxtb.js → CRTScreen-CVY1lOGL.js} +35 -37
- package/dist/core/{CarbonFiber-DSSARe6R.js → CarbonFiber-Do9EONKv.js} +81 -84
- package/dist/core/{Chalkboard-C7srb54u.js → Chalkboard-0hyyGnYl.js} +59 -61
- package/dist/core/{ChannelBlur-DE3T4-pj.js → ChannelBlur-DcZKCKXi.js} +13 -15
- package/dist/core/{CheckerWipe-Dp49-iaT.js → CheckerWipe-BIE62tJ1.js} +23 -23
- package/dist/core/{Checkerboard-oVWtS0rz.js → Checkerboard-CRnfu63u.js} +31 -31
- package/dist/core/{Chevron-CCD5JTRA.js → Chevron-Ld_v4z9T.js} +20 -20
- package/dist/core/{ChromaFlow-BiE9Mes0.js → ChromaFlow-CTWeauIr.js} +32 -33
- package/dist/core/{ChromaticAberration-XEasUrD3.js → ChromaticAberration-CxuOb68m.js} +13 -13
- package/dist/core/{Circle-CvQ9duDU.js → Circle-XP1B5rsN.js} +14 -13
- package/dist/core/{ColorWheel-CXvfWAjN.js → ColorWheel-CFU_OmOW.js} +30 -34
- package/dist/core/{CompressionArtifacts-BDaP7XI6.js → CompressionArtifacts-Bc9xTdQP.js} +64 -66
- package/dist/core/{ConcentricSpin-D06hFXEb.js → ConcentricSpin-DTJytpAk.js} +39 -41
- package/dist/core/{ConicGradient-Cg6vy3gl.js → ConicGradient-C-4uDmQj.js} +17 -18
- package/dist/core/{ContourLines-Cg2Dlmcr.js → ContourLines-C8p6f-1y.js} +29 -30
- package/dist/core/{CornerPin-wtqiMUCa.js → CornerPin-CB92kX10.js} +55 -57
- package/dist/core/{Crescent-Co__JqEE.js → Crescent-Dk4nlG8T.js} +14 -13
- package/dist/core/{Cross-CFytbdrZ.js → Cross-DsnI1U8g.js} +14 -13
- package/dist/core/{Crystal-U7VqhbHy.js → Crystal-CR_sG2y7.js} +143 -152
- package/dist/core/{CurlNoise-BXWYh1Qi.js → CurlNoise-DJ27ih0F.js} +16 -14
- package/dist/core/{CursorRipples-APbH7SVR.js → CursorRipples-CuO3sZga.js} +59 -58
- package/dist/core/{CursorTrail-D5Fj0wGp.js → CursorTrail-d4xx4QpM.js} +72 -71
- package/dist/core/{DataMosh-CWRLpjU3.js → DataMosh-BhvE-2yC.js} +71 -73
- package/dist/core/{DiamondGradient-C_2VoEiQ.js → DiamondGradient-CtOVKrYf.js} +23 -25
- package/dist/core/{DiamondWipe-BkdNODD1.js → DiamondWipe-D-yiQBVj.js} +22 -22
- package/dist/core/{DiffuseBlur-Dl7S4KBW.js → DiffuseBlur-BDf-Czxz.js} +11 -12
- package/dist/core/{DisplacementMap-lv-qoLem.js → DisplacementMap-B_jf_2lj.js} +26 -26
- package/dist/core/{Dither-B33J_gJU.js → Dither-D3P6EJU8.js} +116 -119
- package/dist/core/{DotGrid-DaOhiRaL.js → DotGrid-BnSVhJlh.js} +37 -39
- package/dist/core/{DropShadow-C5Z2Rs2C.js → DropShadow-BSKVH3n3.js} +37 -37
- package/dist/core/{Duotone-x4cywJbU.js → Duotone-DfjYuK2u.js} +7 -7
- package/dist/core/{Ellipse-CrQ1XYjx.js → Ellipse-D7_1QKaa.js} +13 -12
- package/dist/core/{Emboss-DNwO5JcE.js → Emboss-ZiPslqzl.js} +76 -78
- package/dist/core/{Engraving-FsaRQiyI.js → Engraving-DsfkKajz.js} +57 -59
- package/dist/core/{ErosionNoise-CloHpdFT.js → ErosionNoise-SELArv9H.js} +13 -11
- package/dist/core/{Exposure-mO6KjYvc.js → Exposure-A7WlTOti.js} +4 -5
- package/dist/core/{FallingLines-D_1wHUkx.js → FallingLines-9PRMb_Ou.js} +40 -42
- package/dist/core/{FilmGrain-DDhrsw94.js → FilmGrain-SXzVDesw.js} +17 -18
- package/dist/core/{FilmStock-BaP2aTLu.js → FilmStock-RK4fk4m0.js} +74 -74
- package/dist/core/{Flip-DYuqyJva.js → Flip-DjoNWG4v.js} +10 -12
- package/dist/core/{FloatingParticles-DJwNpHtZ.js → FloatingParticles-D7vUF5g7.js} +637 -451
- package/dist/core/{FlowField-D4iGiDic.js → FlowField-tHrXhd1b.js} +24 -23
- package/dist/core/{Flower-D0MqoayS.js → Flower-BfehbmmG.js} +14 -13
- package/dist/core/{FlowingGradient-9Zu0Pu4a.js → FlowingGradient-BTKjkx5F.js} +38 -39
- package/dist/core/{FlutedGlass-C_clmShu.js → FlutedGlass-uFT7iy_9.js} +43 -43
- package/dist/core/{Fog-C_kY5pWB.js → Fog-Cu1CMATa.js} +172 -171
- package/dist/core/{Form3D-D4aXZGoJ.js → Form3D-D0ji-MeC.js} +259 -267
- package/dist/core/{FractalNoise-mMVLGmIv.js → FractalNoise-D9HYiOdr.js} +30 -28
- package/dist/core/{Frost-M53tZlcf.js → Frost-DQZZxdTk.js} +70 -73
- package/dist/core/{GaborNoise-BhXywN1d.js → GaborNoise-D7BP0K4g.js} +16 -14
- package/dist/core/{Glass-B9D_52op.js → Glass-CzCVnGn-.js} +6 -4
- package/dist/core/{GlassTiles-DIkGYgVE.js → GlassTiles-DJzPPqwz.js} +23 -26
- package/dist/core/{Glitch-CUOJt5VX.js → Glitch-D1Dx8__X.js} +84 -72
- package/dist/core/{Glow-D5AdnLvU.js → Glow-Bd9_o_Kv.js} +76 -77
- package/dist/core/{Godrays-BeQCWVw7.js → Godrays-DRPRWGPm.js} +52 -56
- package/dist/core/{Goo-C0_0QYne.js → Goo-28A_pNBg.js} +64 -65
- package/dist/core/{GradientMap-DOVK05_a.js → GradientMap-D8dv-1AX.js} +47 -50
- package/dist/core/{Grayscale-Uv_6LYA9.js → Grayscale-BlVXBVwW.js} +6 -6
- package/dist/core/{Grid-Dbp4DoXZ.js → Grid-D9vlHvs1.js} +46 -48
- package/dist/core/{GridDistortion-D_21zIrm.js → GridDistortion-BpqDvqj6.js} +63 -62
- package/dist/core/{Group-DXiB5Qrx.js → Group-bwQnJRec.js} +1 -1
- package/dist/core/{HTMLInCanvas-xXPLTYIv.js → HTMLInCanvas-gCf64ozE.js} +1 -1
- package/dist/core/{Halftone-DszIQsyx.js → Halftone-B_WouxiP.js} +59 -62
- package/dist/core/{Heart-COpnSJPD.js → Heart-Bmt2TLNz.js} +12 -11
- package/dist/core/{Heatmap-CMm8SD-P.js → Heatmap-Ruef741_.js} +57 -55
- package/dist/core/{HexGrid-B6wNW-45.js → HexGrid-By9k0YuI.js} +32 -35
- package/dist/core/{Hologram-XejRN51V.js → Hologram-Cf25ONOE.js} +62 -66
- package/dist/core/{Holographic-D1G_Ou1y.js → Holographic-C9RzYykt.js} +58 -61
- package/dist/core/{HueShift-BCDgYfJs.js → HueShift-V3gQVuIo.js} +7 -10
- package/dist/core/{ImageTexture-BE2Jlkg6.js → ImageTexture-DAUR2N5Q.js} +3 -2
- package/dist/core/{InkFlow-DJaJqula.js → InkFlow-DlP1gmr4.js} +156 -156
- package/dist/core/{Invert-DDmITZjt.js → Invert-K648khvD.js} +4 -4
- package/dist/core/{IrisWipe-BFs5DDSa.js → IrisWipe-Clkd_5CA.js} +20 -23
- package/dist/core/{IsometricCubes-ChKqYTIw.js → IsometricCubes-CzfAwpQ5.js} +37 -42
- package/dist/core/{Kaleidoscope-C8_-tC6T.js → Kaleidoscope-B9k6HkNn.js} +21 -21
- package/dist/core/{KeyFrames-xR9ZzHKj.js → KeyFrames-DX6JFhsy.js} +130 -129
- package/dist/core/{LensFlare-DHGNEDIX.js → LensFlare-G73cvrIG.js} +82 -84
- package/dist/core/{LightEdge-DYfhB3-7.js → LightEdge-D3i7HUR9.js} +106 -107
- package/dist/core/{LightLeak-CYjuMURe.js → LightLeak-B8yGreP-.js} +58 -59
- package/dist/core/{LinearBlur-CV7gKYHV.js → LinearBlur-BEzNPe0e.js} +14 -14
- package/dist/core/{LinearGradient-DAzw65UB.js → LinearGradient-XjXyaoii.js} +36 -37
- package/dist/core/{LinearWipe-DoDZF7y0.js → LinearWipe-Doj9aS5n.js} +20 -21
- package/dist/core/{LiquidMetal-C9OxRyE4.js → LiquidMetal-CWV_RQip.js} +70 -73
- package/dist/core/{Liquify-gNsuR7aA.js → Liquify-DWrgFruC.js} +67 -66
- package/dist/core/{MagneticFilings-CQ7zHEow.js → MagneticFilings-Co0V07-1.js} +996 -756
- package/dist/core/{Marble-BSSMSrv8.js → Marble-D13mDBvL.js} +22 -21
- package/dist/core/{Mirror-BZAUA2jk.js → Mirror-DvukM_eG.js} +18 -18
- package/dist/core/{MultiPointGradient-HSfAYB-u.js → MultiPointGradient-CyK_Ty9a.js} +30 -31
- package/dist/core/{Neon-D9d6Osal.js → Neon-DD8qY6H9.js} +102 -113
- package/dist/core/{NoiseDissolve-CnELvUG_.js → NoiseDissolve-CeX3VO8J.js} +23 -22
- package/dist/core/{ObjectTracker-COh35yTh.js → ObjectTracker-BWo8H1kh.js} +3 -3
- package/dist/core/{PagePeel-B6sjmvZ1.js → PagePeel-BL5IeBeD.js} +54 -58
- package/dist/core/{Paper-LfukraJk.js → Paper-BAq9MqtG.js} +16 -15
- package/dist/core/{Parallelogram-DBi0yAG3.js → Parallelogram-DYzFG9ci.js} +14 -13
- package/dist/core/{ParticleField-q7COY9YT.js → ParticleField-Bl4uztO7.js} +1489 -1340
- package/dist/core/{ParticleFlow-DiHWbIon.js → ParticleFlow-RPxLP8HC.js} +1422 -1149
- package/dist/core/{Particles-BFsKUAPx.js → Particles-BDEX4Fw2.js} +866 -656
- package/dist/core/{PerlinNoise-KV2GG0ts.js → PerlinNoise-BtXlaEd8.js} +16 -14
- package/dist/core/{Perspective-CJSrtEy5.js → Perspective-CdU5nAEn.js} +23 -25
- package/dist/core/{PixelSort-WD-Y6ZFu.js → PixelSort-C7TX1ClH.js} +109 -109
- package/dist/core/{PixelThrow-CnOXm7Hv.js → PixelThrow-DpKEZPMK.js} +35 -35
- package/dist/core/{Pixelate-XJI9f1oT.js → Pixelate-C2OQUtqr.js} +19 -19
- package/dist/core/{Plasma-C0dnSaw1.js → Plasma-DLq9HroF.js} +33 -32
- package/dist/core/{Plastic-DBv_6A7q.js → Plastic-C2hiOaXw.js} +82 -84
- package/dist/core/{PolarCoordinates-B8Cq2bzT.js → PolarCoordinates-Bumv-Hi3.js} +16 -18
- package/dist/core/{Polygon-ORM35JKg.js → Polygon-DOpR58g4.js} +16 -17
- package/dist/core/{Posterize-Dn-Vv2S1.js → Posterize-CVNOkDme.js} +5 -8
- package/dist/core/{Prism-CYLsGJHY.js → Prism-CCQ1BsBL.js} +36 -40
- package/dist/core/{ProgressiveBlur-BXUumCm5.js → ProgressiveBlur-Cprr1XSE.js} +63 -65
- package/dist/core/{RadialGradient-j6T56q1W.js → RadialGradient-CsmCSySC.js} +22 -23
- package/dist/core/{RadialWipe-Bz19qvls.js → RadialWipe-BAnsqol4.js} +25 -25
- package/dist/core/{RandomBars-3RlhwDYG.js → RandomBars-DdhtxO8o.js} +23 -23
- package/dist/core/{ReactionDiffusion-DdXavIVw.js → ReactionDiffusion-Bih4xEtV.js} +173 -175
- package/dist/core/{RectangularCoordinates-p3250IKV.js → RectangularCoordinates-CKKA2oY1.js} +14 -14
- package/dist/core/{ReflectivePlane-BOl9AEoO.js → ReflectivePlane-u3Tje37M.js} +35 -37
- package/dist/core/{Repeater-BMXmN95R.js → Repeater-C-agsqBS.js} +2 -2
- package/dist/core/{Ring-DKcROHDs.js → Ring-Cj7bR89h.js} +15 -14
- package/dist/core/{RippleWipe-QH8D0Y-2.js → RippleWipe-VL1MMd5o.js} +24 -27
- package/dist/core/{Ripples-8fFdo6aq.js → Ripples-B88TeopS.js} +18 -21
- package/dist/core/{RoundedRect-Cr76tP9o.js → RoundedRect-jn8_QLrT.js} +14 -13
- package/dist/core/{Saturation-Dqifs1x7.js → Saturation-dCNIhHq2.js} +8 -9
- package/dist/core/{Scratches-sa8JU4Eb.js → Scratches-Dz_1Ptk0.js} +16 -14
- package/dist/core/{Sharpness-IRuPd9nn.js → Sharpness-Bxq4YiRL.js} +21 -22
- package/dist/core/{Shatter-BYaxMvyd.js → Shatter-DsuYUr-1.js} +73 -72
- package/dist/core/{SimplexNoise-C2vmRzgy.js → SimplexNoise-CvalBPNF.js} +19 -17
- package/dist/core/{SineWave-BGAJyGFr.js → SineWave-XPK5BsPB.js} +20 -20
- package/dist/core/{SliceWipe-BOcCk5Se.js → SliceWipe-gSs_VRwf.js} +19 -19
- package/dist/core/{Smoke-B1twbhQ4.js → Smoke-kzRXFLW9.js} +156 -155
- package/dist/core/{SmokeFill-CAayneM2.js → SmokeFill-DQZeqiwX.js} +233 -231
- package/dist/core/{SmokeFlow-Ug8difAz.js → SmokeFlow-n23YvKoI.js} +143 -142
- package/dist/core/{Solarize-205KKROH.js → Solarize-DINiQSz1.js} +12 -14
- package/dist/core/{SolidColor-B4pj8onb.js → SolidColor-Cu_9b_my.js} +1 -1
- package/dist/core/{Spherize-DUQxwwCL.js → Spherize-BLY2eqBV.js} +31 -37
- package/dist/core/{Spiral-DY1c-N4F.js → Spiral-CWCmvI3m.js} +36 -36
- package/dist/core/{Star-DRxNaHHo.js → Star-9WSeF-vW.js} +14 -13
- package/dist/core/{Stone-CUdcvOWd.js → Stone-CVO2Ey8i.js} +2 -2
- package/dist/core/{Strands-CFxYJMFu.js → Strands-D9Sz1vX9.js} +47 -49
- package/dist/core/{Stretch-DYrVdt8A.js → Stretch-DMT2Y6kN.js} +19 -19
- package/dist/core/{Stripes-BvnoWdwn.js → Stripes-DPVbOQkX.js} +39 -39
- package/dist/core/{StudioBackground-srQGUpfZ.js → StudioBackground-5JgYClrr.js} +67 -68
- package/dist/core/{SunBurst-COsVDZ4e.js → SunBurst-Din5CIAU.js} +18 -20
- package/dist/core/{Surface3D-TsGPzdGm.js → Surface3D-CW2ApEgt.js} +1934 -1528
- package/dist/core/{Swirl-nXMWVY2X.js → Swirl-DrchXPfh.js} +18 -21
- package/dist/core/{Teardrop-Bjtkigk4.js → Teardrop-CDt_XA4d.js} +13 -12
- package/dist/core/{Text-BGdsqRl5.js → Text-o_dubJeo.js} +20 -21
- package/dist/core/{ThinFilm-DhMKI5e2.js → ThinFilm-d7IlUY62.js} +59 -67
- package/dist/core/{TiltShift-BwuYyXB6.js → TiltShift-DJVcMb_M.js} +66 -67
- package/dist/core/{TimeTrail-CE2XumxR.js → TimeTrail-D1Gir7BK.js} +1003 -1647
- package/dist/core/{Tint-BTmcGjEl.js → Tint-Cak_PyOJ.js} +25 -26
- package/dist/core/{Trapezoid-CiZCh8QS.js → Trapezoid-DnFhlKCD.js} +14 -13
- package/dist/core/{TriangularGrid-BnQOEljy.js → TriangularGrid-BE9CgVlb.js} +34 -36
- package/dist/core/{Tritone-Ta084wlF.js → Tritone-mqU9b4YZ.js} +7 -10
- package/dist/core/{Truchet-BxCh_IIp.js → Truchet-yLdaw6z4.js} +31 -33
- package/dist/core/{Twirl-Cw4jm59Q.js → Twirl-SA6uh8pI.js} +16 -16
- package/dist/core/{VHS-Nwk0E-tf.js → VHS-Ch-bVeit.js} +68 -69
- package/dist/core/{VenetianBlinds-BZ0sS97G.js → VenetianBlinds-CboEoPIZ.js} +22 -23
- package/dist/core/{Vesica-Cf1KiSzK.js → Vesica-DmJWzk7E.js} +13 -12
- package/dist/core/{Vibrance-qWGvLkrW.js → Vibrance-7rW_G3qT.js} +7 -8
- package/dist/core/{VideoTexture-48ylVDvN.js → VideoTexture-Ctk5_1F8.js} +34 -39
- package/dist/core/{Vignette-CK_Li7v2.js → Vignette-DXtlR5LT.js} +20 -22
- package/dist/core/{Voronoi-DMYFDwIS.js → Voronoi-B0ZrQ6QO.js} +33 -37
- package/dist/core/{Water-D74wbHmn.js → Water-DfwGqSnM.js} +101 -108
- package/dist/core/{Watercolor-zo8-4Vqx.js → Watercolor-BAShYSu7.js} +305 -389
- package/dist/core/{WaveDistortion-BLrvGOzF.js → WaveDistortion-Cj4QBBKm.js} +80 -82
- package/dist/core/{WaveletNoise-a5OpO8-D.js → WaveletNoise-DYiU_ziD.js} +16 -14
- package/dist/core/{Weave-D1D3kuUg.js → Weave-DVefdB9i.js} +28 -31
- package/dist/core/{WebcamTexture-pBETyQYG.js → WebcamTexture-BO9jNxcP.js} +7 -7
- package/dist/core/{Wool-CMnWPdy9.js → Wool-D304TmpD.js} +2 -2
- package/dist/core/{WorleyNoise-BAEo0duh.js → WorleyNoise-B5FBTklZ.js} +69 -70
- package/dist/core/{ZoomBlur-CnBNmcfx.js → ZoomBlur-DxySopLs.js} +12 -12
- package/dist/core/agents-c-JjGH1b.js +1440 -0
- package/dist/core/blur-DKmdsW6d.js +2247 -0
- package/dist/core/compute-BoeIXi0l.js +31 -0
- package/dist/core/dataEncoding-CEmpiitu.js +24 -0
- package/dist/core/device-BODv_4aH.js +10 -0
- package/dist/core/edges-BZUKQxSE.js +29857 -0
- package/dist/core/{glass-sOqjtPJD.js → glass-BVqgjSPg.js} +164 -172
- package/dist/core/gpu/index.d.ts.map +1 -1
- package/dist/core/gpu/kit/agents.d.ts +17 -1
- package/dist/core/gpu/kit/agents.d.ts.map +1 -1
- package/dist/core/gpu/passManager.d.ts +6 -2
- package/dist/core/gpu/passManager.d.ts.map +1 -1
- package/dist/core/gpu/textures.d.ts +2 -2
- package/dist/core/gpu/textures.d.ts.map +1 -1
- package/dist/core/index.js +324 -226
- package/dist/core/media-Ds6MRfGR.js +757 -0
- package/dist/core/noise-Cq0KUOSC.js +12033 -0
- package/dist/core/noiseColor-CQyzqpVZ.js +103 -0
- package/dist/core/{noiseColor-CRpf22bk.js → noiseColor-DjCUZ_8u.js} +2 -2
- package/dist/core/noiseStylize-fKVcJbGK.js +359 -0
- package/dist/core/porters-DogLzpKT.js +991 -0
- package/dist/core/presetRenderer.d.ts.map +1 -1
- package/dist/core/registry.js +208 -199
- package/dist/core/sdf-o99ONcMJ.js +5174 -0
- package/dist/core/shaderRegistry-BSrnuqx-.js +425 -0
- package/dist/core/shaders/AngularBlur/index.js +5 -4
- package/dist/core/shaders/Arc/index.js +7 -4
- package/dist/core/shaders/Ascii/index.js +5 -4
- package/dist/core/shaders/Aurora/index.js +6 -4
- package/dist/core/shaders/BarShift/index.js +5 -4
- package/dist/core/shaders/BarnDoors/index.js +5 -4
- package/dist/core/shaders/Beam/index.js +5 -4
- package/dist/core/shaders/Bend/index.js +5 -4
- package/dist/core/shaders/Blob/index.js +5 -4
- package/dist/core/shaders/BlockDissolve/index.js +6 -4
- package/dist/core/shaders/BlockNoise/index.js +8 -5
- package/dist/core/shaders/BlueNoise/index.js +8 -5
- package/dist/core/shaders/Blur/index.js +6 -4
- package/dist/core/shaders/Boids/index.d.ts +3 -3
- package/dist/core/shaders/Boids/index.d.ts.map +1 -1
- package/dist/core/shaders/Boids/index.js +9 -5
- package/dist/core/shaders/BokehBlur/index.js +6 -4
- package/dist/core/shaders/BrickPattern/index.js +5 -4
- package/dist/core/shaders/BrightnessContrast/index.js +5 -4
- package/dist/core/shaders/BrushedMetal/index.js +11 -6
- package/dist/core/shaders/Bulge/index.js +5 -4
- package/dist/core/shaders/CRTScreen/index.js +5 -4
- package/dist/core/shaders/CarbonFiber/index.js +11 -6
- package/dist/core/shaders/Chalkboard/index.js +5 -4
- package/dist/core/shaders/ChannelBlur/index.js +6 -4
- package/dist/core/shaders/CheckerWipe/index.js +5 -4
- package/dist/core/shaders/Checkerboard/index.js +5 -4
- package/dist/core/shaders/Chevron/index.js +5 -4
- package/dist/core/shaders/ChromaFlow/index.js +6 -4
- package/dist/core/shaders/ChromaticAberration/index.js +5 -4
- package/dist/core/shaders/Circle/index.js +7 -4
- package/dist/core/shaders/ColorWheel/index.js +5 -4
- package/dist/core/shaders/CompressionArtifacts/index.js +5 -4
- package/dist/core/shaders/ConcentricSpin/index.js +5 -4
- package/dist/core/shaders/ConicGradient/index.js +5 -4
- package/dist/core/shaders/ContourLines/index.js +5 -4
- package/dist/core/shaders/CornerPin/index.js +5 -4
- package/dist/core/shaders/Crescent/index.js +7 -4
- package/dist/core/shaders/Cross/index.js +7 -4
- package/dist/core/shaders/Crystal/index.js +11 -6
- package/dist/core/shaders/CurlNoise/index.js +8 -5
- package/dist/core/shaders/CursorRipples/index.js +5 -4
- package/dist/core/shaders/CursorTrail/index.js +5 -4
- package/dist/core/shaders/DataMosh/index.js +5 -4
- package/dist/core/shaders/DiamondGradient/index.js +5 -4
- package/dist/core/shaders/DiamondWipe/index.js +5 -4
- package/dist/core/shaders/DiffuseBlur/index.js +5 -4
- package/dist/core/shaders/DisplacementMap/index.js +5 -4
- package/dist/core/shaders/Dither/index.js +5 -4
- package/dist/core/shaders/DotGrid/index.js +5 -4
- package/dist/core/shaders/DropShadow/index.js +5 -4
- package/dist/core/shaders/Duotone/index.js +5 -4
- package/dist/core/shaders/Ellipse/index.js +7 -4
- package/dist/core/shaders/Emboss/index.js +10 -6
- package/dist/core/shaders/Engraving/index.js +6 -4
- package/dist/core/shaders/ErosionNoise/index.js +8 -5
- package/dist/core/shaders/Exposure/index.js +5 -4
- package/dist/core/shaders/FallingLines/index.js +5 -4
- package/dist/core/shaders/FilmGrain/index.js +5 -4
- package/dist/core/shaders/FilmStock/index.js +6 -4
- package/dist/core/shaders/Flip/index.js +5 -4
- package/dist/core/shaders/FloatingParticles/index.d.ts +9 -4
- package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
- package/dist/core/shaders/FloatingParticles/index.js +9 -5
- package/dist/core/shaders/FlowField/index.js +6 -4
- package/dist/core/shaders/Flower/index.js +7 -4
- package/dist/core/shaders/FlowingGradient/index.js +6 -4
- package/dist/core/shaders/FlutedGlass/index.js +5 -4
- package/dist/core/shaders/Fog/index.js +5 -4
- package/dist/core/shaders/Form3D/index.js +5 -4
- package/dist/core/shaders/FractalNoise/index.js +7 -4
- package/dist/core/shaders/Frost/index.js +11 -6
- package/dist/core/shaders/GaborNoise/index.js +8 -5
- package/dist/core/shaders/Glass/index.js +11 -6
- package/dist/core/shaders/GlassTiles/index.js +5 -4
- package/dist/core/shaders/Glitch/index.d.ts +1 -1
- package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
- package/dist/core/shaders/Glitch/index.js +5 -4
- package/dist/core/shaders/Glow/index.js +6 -4
- package/dist/core/shaders/Godrays/index.js +5 -4
- package/dist/core/shaders/Goo/index.js +10 -6
- package/dist/core/shaders/GradientMap/index.js +5 -4
- package/dist/core/shaders/Grayscale/index.js +5 -4
- package/dist/core/shaders/Grid/index.js +5 -4
- package/dist/core/shaders/GridDistortion/index.js +5 -4
- package/dist/core/shaders/Group/index.js +5 -4
- package/dist/core/shaders/HTMLInCanvas/index.js +5 -4
- package/dist/core/shaders/Halftone/index.js +5 -4
- package/dist/core/shaders/Heart/index.js +7 -4
- package/dist/core/shaders/Heatmap/index.js +11 -6
- package/dist/core/shaders/HexGrid/index.js +5 -4
- package/dist/core/shaders/Hologram/index.js +11 -6
- package/dist/core/shaders/Holographic/index.js +11 -6
- package/dist/core/shaders/HueShift/index.js +5 -4
- package/dist/core/shaders/ImageTexture/index.js +7 -5
- package/dist/core/shaders/InkFlow/index.js +5 -4
- package/dist/core/shaders/Invert/index.js +5 -4
- package/dist/core/shaders/IrisWipe/index.js +5 -4
- package/dist/core/shaders/IsometricCubes/index.js +5 -4
- package/dist/core/shaders/Kaleidoscope/index.js +5 -4
- package/dist/core/shaders/KeyFrames/index.js +5 -4
- package/dist/core/shaders/LensFlare/index.js +5 -4
- package/dist/core/shaders/LightEdge/index.js +11 -6
- package/dist/core/shaders/LightLeak/index.js +6 -4
- package/dist/core/shaders/LinearBlur/index.js +5 -4
- package/dist/core/shaders/LinearGradient/index.js +5 -4
- package/dist/core/shaders/LinearWipe/index.js +5 -4
- package/dist/core/shaders/LiquidMetal/index.js +11 -6
- package/dist/core/shaders/Liquify/index.js +5 -4
- package/dist/core/shaders/MagneticFilings/index.d.ts +0 -2
- package/dist/core/shaders/MagneticFilings/index.d.ts.map +1 -1
- package/dist/core/shaders/MagneticFilings/index.js +9 -5
- package/dist/core/shaders/Marble/index.js +6 -4
- package/dist/core/shaders/Mirror/index.js +5 -4
- package/dist/core/shaders/MultiPointGradient/index.js +5 -4
- package/dist/core/shaders/Neon/index.js +9 -5
- package/dist/core/shaders/NoiseDissolve/index.js +6 -4
- package/dist/core/shaders/ObjectTracker/index.js +6 -5
- package/dist/core/shaders/PagePeel/index.js +5 -4
- package/dist/core/shaders/Paper/index.js +6 -4
- package/dist/core/shaders/Parallelogram/index.js +7 -4
- package/dist/core/shaders/ParticleField/index.d.ts +10 -5
- package/dist/core/shaders/ParticleField/index.d.ts.map +1 -1
- package/dist/core/shaders/ParticleField/index.js +9 -5
- package/dist/core/shaders/ParticleFlow/index.d.ts +10 -4
- package/dist/core/shaders/ParticleFlow/index.d.ts.map +1 -1
- package/dist/core/shaders/ParticleFlow/index.js +9 -5
- package/dist/core/shaders/Particles/index.d.ts +4 -3
- package/dist/core/shaders/Particles/index.d.ts.map +1 -1
- package/dist/core/shaders/Particles/index.js +12 -6
- package/dist/core/shaders/PerlinNoise/index.js +8 -5
- package/dist/core/shaders/Perspective/index.js +5 -4
- package/dist/core/shaders/PixelSort/index.js +5 -4
- package/dist/core/shaders/PixelThrow/index.js +6 -4
- package/dist/core/shaders/Pixelate/index.js +5 -4
- package/dist/core/shaders/Plasma/index.js +6 -4
- package/dist/core/shaders/Plastic/index.js +11 -6
- package/dist/core/shaders/PolarCoordinates/index.js +5 -4
- package/dist/core/shaders/Polygon/index.js +7 -4
- package/dist/core/shaders/Posterize/index.js +5 -4
- package/dist/core/shaders/Prism/index.js +5 -4
- package/dist/core/shaders/ProgressiveBlur/index.js +6 -4
- package/dist/core/shaders/RadialGradient/index.js +5 -4
- package/dist/core/shaders/RadialWipe/index.js +5 -4
- package/dist/core/shaders/RandomBars/index.js +6 -4
- package/dist/core/shaders/ReactionDiffusion/index.js +5 -4
- package/dist/core/shaders/RectangularCoordinates/index.js +5 -4
- package/dist/core/shaders/ReflectivePlane/index.js +6 -4
- package/dist/core/shaders/Repeater/index.js +5 -4
- package/dist/core/shaders/Ring/index.js +7 -4
- package/dist/core/shaders/RippleWipe/index.js +5 -4
- package/dist/core/shaders/Ripples/index.js +5 -4
- package/dist/core/shaders/RoundedRect/index.js +7 -4
- package/dist/core/shaders/Saturation/index.js +5 -4
- package/dist/core/shaders/Scratches/index.js +8 -5
- package/dist/core/shaders/Sharpness/index.js +5 -4
- package/dist/core/shaders/Shatter/index.js +6 -4
- package/dist/core/shaders/SimplexNoise/index.js +7 -4
- package/dist/core/shaders/SineWave/index.js +5 -4
- package/dist/core/shaders/SliceWipe/index.js +5 -4
- package/dist/core/shaders/Smoke/index.js +5 -4
- package/dist/core/shaders/SmokeFill/index.js +10 -6
- package/dist/core/shaders/SmokeFlow/index.js +5 -4
- package/dist/core/shaders/Solarize/index.js +5 -4
- package/dist/core/shaders/SolidColor/index.js +2 -2
- package/dist/core/shaders/Spherize/index.js +5 -4
- package/dist/core/shaders/Spiral/index.js +5 -4
- package/dist/core/shaders/Star/index.js +7 -4
- package/dist/core/shaders/Stone/index.js +4 -3
- package/dist/core/shaders/Strands/index.js +5 -4
- package/dist/core/shaders/Stretch/index.js +5 -4
- package/dist/core/shaders/Stripes/index.js +5 -4
- package/dist/core/shaders/StudioBackground/index.js +5 -4
- package/dist/core/shaders/SunBurst/index.js +5 -4
- package/dist/core/shaders/Surface3D/index.d.ts +4 -2
- package/dist/core/shaders/Surface3D/index.d.ts.map +1 -1
- package/dist/core/shaders/Surface3D/index.js +7 -4
- package/dist/core/shaders/Swirl/index.js +5 -4
- package/dist/core/shaders/Teardrop/index.js +7 -4
- package/dist/core/shaders/Text/index.js +6 -5
- package/dist/core/shaders/ThinFilm/index.js +9 -5
- package/dist/core/shaders/TiltShift/index.js +6 -4
- package/dist/core/shaders/TimeTrail/index.d.ts +47 -1
- package/dist/core/shaders/TimeTrail/index.d.ts.map +1 -1
- package/dist/core/shaders/TimeTrail/index.js +7 -5
- package/dist/core/shaders/Tint/index.js +5 -4
- package/dist/core/shaders/Trapezoid/index.js +7 -4
- package/dist/core/shaders/TriangularGrid/index.js +5 -4
- package/dist/core/shaders/Tritone/index.js +5 -4
- package/dist/core/shaders/Truchet/index.js +5 -4
- package/dist/core/shaders/Twirl/index.js +5 -4
- package/dist/core/shaders/VHS/index.js +5 -4
- package/dist/core/shaders/VenetianBlinds/index.js +5 -4
- package/dist/core/shaders/Vesica/index.js +7 -4
- package/dist/core/shaders/Vibrance/index.js +5 -4
- package/dist/core/shaders/VideoTexture/index.js +6 -5
- package/dist/core/shaders/Vignette/index.js +5 -4
- package/dist/core/shaders/Voronoi/index.js +5 -4
- package/dist/core/shaders/Water/index.js +11 -6
- package/dist/core/shaders/Watercolor/index.d.ts +1 -1
- package/dist/core/shaders/Watercolor/index.d.ts.map +1 -1
- package/dist/core/shaders/Watercolor/index.js +6 -4
- package/dist/core/shaders/WaveDistortion/index.js +5 -4
- package/dist/core/shaders/WaveletNoise/index.js +8 -5
- package/dist/core/shaders/Weave/index.js +5 -4
- package/dist/core/shaders/WebcamTexture/index.js +7 -5
- package/dist/core/shaders/Wool/index.js +4 -3
- package/dist/core/shaders/WorleyNoise/index.js +5 -4
- package/dist/core/shaders/ZoomBlur/index.js +5 -4
- package/dist/core/shapeEffectBounds-Dg4GQ5vW.js +19213 -0
- package/dist/core/utilities/transformations/index.js +1 -1
- package/dist/js/bundle.js +188 -184
- package/dist/js/createShader.js +1 -1
- package/dist/react/Shader.js +1 -1
- package/dist/react/bundle.js +197 -193
- package/dist/registry.js +0 -1
- package/dist/solid/engine/Shader.js +1 -1
- package/dist/svelte/index.js +1 -1
- package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/package.json +1 -1
- package/dist/core/coords-BkIjixe_.js +0 -55724
- package/dist/core/noiseStylize-J6sFKoTh.js +0 -65
- package/dist/core/porters-BmU6G9TR.js +0 -321
- package/dist/core/shaderRegistry-D75z2sND.js +0 -425
- package/dist/core/shapeEffectBounds-PQqKLQXO.js +0 -406
- /package/dist/core/{fonts-DwhbVe2B.js → fonts-v_F1SFl9.js} +0 -0
- /package/dist/core/{naturalSize-Caz3-kRv.js → naturalSize-B679wTgN.js} +0 -0
- /package/dist/core/{transformations-t0d2-uSX.js → transformations-CsPUHppB.js} +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { Bt as
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
1
|
+
import { At as mix, Bt as sqrt, Ct as exp, Dt as length, Gt as arrayOf, H as mixColorsLinear, Kt as texture2d, Mt as pow, Ot as max, Qt as struct, Tt as floor, U as mixColorsVariants, Ut as data_exports, Wt as atomic, cn as i32, d as ZERO, dt as atomicLoad, et as src_default, ft as atomicStore, ht as abs, in as vec3f, it as textureLoad, jt as normalize, kt as min, ln as u32, nt as std_exports, on as vec4f, ot as textureStore, qt as textureStorage2d, rn as vec2u, sn as f32, tn as vec2f, ut as atomicAdd, vt as ceil, xt as cross, yt as clamp, zt as smoothstep } from "./edges-BZUKQxSE.js";
|
|
2
|
+
import { l as hash33, o as hash11, p as noise_exports } from "./noise-Cq0KUOSC.js";
|
|
3
|
+
import { n as createGuardedCompute, r as createStateBuffer } from "./compute-BoeIXi0l.js";
|
|
4
|
+
import { h as sdf_exports } from "./sdf-o99ONcMJ.js";
|
|
5
|
+
import { f as sdf3d_exports, n as shapeEffectBoundingBoxDeclaration, t as resolveShapeType } from "./shapeEffectBounds-Dg4GQ5vW.js";
|
|
6
|
+
import { a as makeAgentTexelWeightFn, c as pointShapeOptions, i as cursorMagnet, l as resolveAgentShape, n as agents_exports, t as AGENT_SHAPES } from "./agents-c-JjGH1b.js";
|
|
7
|
+
import { a as transformColor, c as transformPosition, o as transformColorSpace, t as colorSpaceOptions } from "./transformations-CsPUHppB.js";
|
|
4
8
|
var { buildAnalyticSdfFn, createSdfDataTexture, SVG_SDF_SIZE } = sdf_exports;
|
|
5
9
|
var { createAnalytic3dSdfSetup, createSvg3dSdfSetup, rotateVec3, rotateVecCpu, is3dShapeType, isSvg3dShapeType, isMobileGpuViewport, resolveShapeSubProp, SHAPE3D_DEFAULTS, SVG3D_DEFAULTS, VOLUMETRIC_FIELD_FORMAT } = sdf3d_exports;
|
|
6
10
|
var DEG_TO_RAD = .017453292519943295;
|
|
@@ -18,92 +22,95 @@ function parseShapeConfig(raw) {
|
|
|
18
22
|
return {};
|
|
19
23
|
}
|
|
20
24
|
var MAX_PARTICLES = 16e3;
|
|
25
|
+
var COUNT_CAP = isMobileGpuViewport() ? 6e3 : MAX_PARTICLES;
|
|
21
26
|
var DGRID = 32;
|
|
22
27
|
var DCELLS = DGRID * DGRID * DGRID;
|
|
23
28
|
var DOMAIN = 1;
|
|
24
29
|
var OUT_RES = isMobileGpuViewport() ? 768 : 1024;
|
|
25
|
-
var
|
|
26
|
-
var
|
|
30
|
+
var SIZE_SCALE = OUT_RES / 1024;
|
|
31
|
+
var EXTQ = 2.6;
|
|
32
|
+
var EXT = Math.sqrt(EXTQ);
|
|
33
|
+
var MAX_SPLAT_SIZE = 6;
|
|
27
34
|
var MAX_SPEED = 3;
|
|
28
35
|
var STATE_FORMAT = "rgba16float";
|
|
29
|
-
var SimParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(
|
|
30
|
-
colA:
|
|
31
|
-
colB:
|
|
32
|
-
dt:
|
|
33
|
-
time:
|
|
34
|
-
spread:
|
|
35
|
-
agitation:
|
|
36
|
-
dragMul:
|
|
37
|
-
gravX:
|
|
38
|
-
gravY:
|
|
39
|
-
halfDepth:
|
|
40
|
-
mouseX:
|
|
41
|
-
mouseY:
|
|
42
|
-
mouseForce:
|
|
43
|
-
mouseRadSq:
|
|
44
|
-
saRadius:
|
|
45
|
-
saSides:
|
|
46
|
-
saRounding:
|
|
47
|
-
saInnerRatio:
|
|
48
|
-
saRotation:
|
|
49
|
-
saHeight:
|
|
50
|
-
saOffset:
|
|
51
|
-
saAperture:
|
|
52
|
-
centerX:
|
|
53
|
-
centerYv:
|
|
54
|
-
scale:
|
|
55
|
-
rotC:
|
|
56
|
-
rotS:
|
|
57
|
-
aspect:
|
|
58
|
-
size:
|
|
59
|
-
exposure:
|
|
60
|
-
softness:
|
|
61
|
-
speedColorK:
|
|
62
|
-
omegaX:
|
|
63
|
-
omegaY:
|
|
64
|
-
omegaZ:
|
|
65
|
-
entrain:
|
|
66
|
-
gridOffX:
|
|
67
|
-
gridOffY:
|
|
68
|
-
gridOffZ:
|
|
36
|
+
var SimParams = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(struct({
|
|
37
|
+
colA: vec4f,
|
|
38
|
+
colB: vec4f,
|
|
39
|
+
dt: f32,
|
|
40
|
+
time: f32,
|
|
41
|
+
spread: f32,
|
|
42
|
+
agitation: f32,
|
|
43
|
+
dragMul: f32,
|
|
44
|
+
gravX: f32,
|
|
45
|
+
gravY: f32,
|
|
46
|
+
halfDepth: f32,
|
|
47
|
+
mouseX: f32,
|
|
48
|
+
mouseY: f32,
|
|
49
|
+
mouseForce: f32,
|
|
50
|
+
mouseRadSq: f32,
|
|
51
|
+
saRadius: f32,
|
|
52
|
+
saSides: f32,
|
|
53
|
+
saRounding: f32,
|
|
54
|
+
saInnerRatio: f32,
|
|
55
|
+
saRotation: f32,
|
|
56
|
+
saHeight: f32,
|
|
57
|
+
saOffset: f32,
|
|
58
|
+
saAperture: f32,
|
|
59
|
+
centerX: f32,
|
|
60
|
+
centerYv: f32,
|
|
61
|
+
scale: f32,
|
|
62
|
+
rotC: f32,
|
|
63
|
+
rotS: f32,
|
|
64
|
+
aspect: f32,
|
|
65
|
+
size: f32,
|
|
66
|
+
exposure: f32,
|
|
67
|
+
softness: f32,
|
|
68
|
+
speedColorK: f32,
|
|
69
|
+
omegaX: f32,
|
|
70
|
+
omegaY: f32,
|
|
71
|
+
omegaZ: f32,
|
|
72
|
+
entrain: f32,
|
|
73
|
+
gridOffX: f32,
|
|
74
|
+
gridOffY: f32,
|
|
75
|
+
gridOffZ: f32
|
|
69
76
|
}), "SimParams");
|
|
70
|
-
var simLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(
|
|
77
|
+
var simLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({
|
|
71
78
|
pos: {
|
|
72
|
-
storage:
|
|
79
|
+
storage: arrayOf(vec4f, MAX_PARTICLES),
|
|
73
80
|
access: "mutable"
|
|
74
81
|
},
|
|
75
82
|
vel: {
|
|
76
|
-
storage:
|
|
83
|
+
storage: arrayOf(vec4f, MAX_PARTICLES),
|
|
77
84
|
access: "mutable"
|
|
78
85
|
},
|
|
79
86
|
dens: {
|
|
80
|
-
storage:
|
|
87
|
+
storage: arrayOf(atomic(u32), DCELLS),
|
|
81
88
|
access: "mutable"
|
|
82
89
|
},
|
|
83
90
|
accumE: {
|
|
84
|
-
storage:
|
|
91
|
+
storage: arrayOf(atomic(u32), OUT_RES * OUT_RES),
|
|
85
92
|
access: "mutable"
|
|
86
93
|
},
|
|
87
94
|
accumS: {
|
|
88
|
-
storage:
|
|
95
|
+
storage: arrayOf(atomic(u32), OUT_RES * OUT_RES),
|
|
89
96
|
access: "mutable"
|
|
90
97
|
},
|
|
91
98
|
params: { uniform: SimParams },
|
|
92
|
-
outTex: { storageTexture:
|
|
99
|
+
outTex: { storageTexture: textureStorage2d(STATE_FORMAT, "write-only") }
|
|
93
100
|
}), "simLayout");
|
|
94
|
-
var svgSdfLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(
|
|
95
|
-
var densAt =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
],
|
|
101
|
+
var svgSdfLayout = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(src_default.bindGroupLayout({ sdfSource: { texture: texture2d(f32) } }), "svgSdfLayout");
|
|
102
|
+
var densAt = src_default.fn([
|
|
103
|
+
i32,
|
|
104
|
+
i32,
|
|
105
|
+
i32
|
|
106
|
+
], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((cx, cy, cz) => {
|
|
100
107
|
"use gpu";
|
|
101
|
-
const g =
|
|
102
|
-
const x =
|
|
103
|
-
const y =
|
|
104
|
-
const z =
|
|
105
|
-
const idx =
|
|
106
|
-
return __tsover_mul(
|
|
108
|
+
const g = i32(DGRID);
|
|
109
|
+
const x = clamp(cx, 0, __tsover_sub(g, 1));
|
|
110
|
+
const y = clamp(cy, 0, __tsover_sub(g, 1));
|
|
111
|
+
const z = clamp(cz, 0, __tsover_sub(g, 1));
|
|
112
|
+
const idx = u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(z, g), y), g), x));
|
|
113
|
+
return __tsover_mul(f32(atomicLoad(simLayout.$.dens[idx])), __tsover_div(1, 64));
|
|
107
114
|
}), {
|
|
108
115
|
v: 1,
|
|
109
116
|
name: void 0,
|
|
@@ -283,25 +290,25 @@ var densAt = tgpu.fn([
|
|
|
283
290
|
]
|
|
284
291
|
},
|
|
285
292
|
externals: () => ({
|
|
286
|
-
d,
|
|
293
|
+
d: data_exports,
|
|
287
294
|
DGRID,
|
|
288
|
-
std,
|
|
295
|
+
std: std_exports,
|
|
289
296
|
simLayout
|
|
290
297
|
})
|
|
291
298
|
}) && $.f)({}));
|
|
292
|
-
var densTrilinear =
|
|
299
|
+
var densTrilinear = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((pos) => {
|
|
293
300
|
"use gpu";
|
|
294
301
|
const prm = simLayout.$.params;
|
|
295
|
-
const g =
|
|
296
|
-
const c =
|
|
297
|
-
const base =
|
|
298
|
-
const f =
|
|
299
|
-
const bi =
|
|
300
|
-
const bj =
|
|
301
|
-
const bk =
|
|
302
|
-
let acc =
|
|
302
|
+
const g = f32(DGRID);
|
|
303
|
+
const c = vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
|
|
304
|
+
const base = clamp(floor(c), vec3f(0, 0, 0), vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
|
|
305
|
+
const f = clamp(c.sub(base), vec3f(0, 0, 0), vec3f(1, 1, 1));
|
|
306
|
+
const bi = i32(base.x);
|
|
307
|
+
const bj = i32(base.y);
|
|
308
|
+
const bk = i32(base.z);
|
|
309
|
+
let acc = f32(0);
|
|
303
310
|
for (let dz = 0; dz < 2; dz++) for (let dy = 0; dy < 2; dy++) for (let dx = 0; dx < 2; dx++) {
|
|
304
|
-
const w = __tsover_mul(__tsover_mul(
|
|
311
|
+
const w = __tsover_mul(__tsover_mul(mix(__tsover_sub(1, f.x), f.x, f32(dx)), mix(__tsover_sub(1, f.y), f.y, f32(dy))), mix(__tsover_sub(1, f.z), f.z, f32(dz)));
|
|
305
312
|
acc = __tsover_add(acc, __tsover_mul(densAt(__tsover_add(bi, dx), __tsover_add(bj, dy), __tsover_add(bk, dz)), w));
|
|
306
313
|
}
|
|
307
314
|
return acc;
|
|
@@ -870,18 +877,18 @@ var densTrilinear = tgpu.fn([d.vec3f], d.f32)(/* @__PURE__ */ (($) => (globalThi
|
|
|
870
877
|
},
|
|
871
878
|
externals: () => ({
|
|
872
879
|
simLayout,
|
|
873
|
-
d,
|
|
880
|
+
d: data_exports,
|
|
874
881
|
DGRID,
|
|
875
882
|
DOMAIN,
|
|
876
|
-
std,
|
|
883
|
+
std: std_exports,
|
|
877
884
|
densAt
|
|
878
885
|
})
|
|
879
886
|
}) && $.f)({}));
|
|
880
|
-
var extrudeSdf =
|
|
887
|
+
var extrudeSdf = src_default.fn([f32, f32], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((d2, wz) => {
|
|
881
888
|
"use gpu";
|
|
882
|
-
const ox =
|
|
883
|
-
const oz =
|
|
884
|
-
return __tsover_add(
|
|
889
|
+
const ox = max(d2, 0);
|
|
890
|
+
const oz = max(wz, 0);
|
|
891
|
+
return __tsover_add(min(max(d2, wz), 0), sqrt(__tsover_add(__tsover_mul(ox, ox), __tsover_mul(oz, oz))));
|
|
885
892
|
}), {
|
|
886
893
|
v: 1,
|
|
887
894
|
name: void 0,
|
|
@@ -968,17 +975,16 @@ var extrudeSdf = tgpu.fn([d.f32, d.f32], d.f32)(/* @__PURE__ */ (($) => (globalT
|
|
|
968
975
|
]],
|
|
969
976
|
"externalNames": ["std"]
|
|
970
977
|
},
|
|
971
|
-
externals: () => ({ std })
|
|
978
|
+
externals: () => ({ std: std_exports })
|
|
972
979
|
}) && $.f)({}));
|
|
973
|
-
const particleInitKernel =
|
|
980
|
+
const particleInitKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
974
981
|
"use gpu";
|
|
975
|
-
const fi =
|
|
976
|
-
const
|
|
977
|
-
const
|
|
978
|
-
const rad = __tsover_mul(std.pow(hash11(__tsover_add(__tsover_mul(fi, 2.2360679), 1.7)), d.f32(.3333)), .55);
|
|
982
|
+
const fi = f32(i);
|
|
983
|
+
const dir = normalize(hash33(vec3f(__tsover_add(__tsover_mul(fi, 1.6180339), .71), __tsover_add(__tsover_mul(fi, 2.7182818), 4.17), __tsover_add(__tsover_mul(fi, 3.1415926), 9.03))).sub(vec3f(.5, .5, .5)).add(vec3f(1e-4, 2e-4, 3e-4)));
|
|
984
|
+
const rad = __tsover_mul(pow(hash11(__tsover_add(__tsover_mul(fi, 2.2360679), 1.7)), f32(.3333)), .55);
|
|
979
985
|
const seed = hash11(__tsover_add(__tsover_mul(fi, 1.7320508), .37));
|
|
980
|
-
simLayout.$.pos[i] =
|
|
981
|
-
simLayout.$.vel[i] =
|
|
986
|
+
simLayout.$.pos[i] = vec4f(__tsover_mul(dir.x, rad), __tsover_mul(dir.y, rad), __tsover_mul(__tsover_mul(dir.z, rad), .8), seed);
|
|
987
|
+
simLayout.$.vel[i] = vec4f(0, 0, 0, 0);
|
|
982
988
|
}), {
|
|
983
989
|
v: 1,
|
|
984
990
|
name: void 0,
|
|
@@ -1279,15 +1285,15 @@ const particleInitKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.
|
|
|
1279
1285
|
]
|
|
1280
1286
|
},
|
|
1281
1287
|
externals: () => ({
|
|
1282
|
-
d,
|
|
1288
|
+
d: data_exports,
|
|
1283
1289
|
noise: noise_exports,
|
|
1284
|
-
std,
|
|
1290
|
+
std: std_exports,
|
|
1285
1291
|
simLayout
|
|
1286
1292
|
})
|
|
1287
1293
|
}) && $.f)({})).$name("particlesInit");
|
|
1288
|
-
const particleClearDensityKernel =
|
|
1294
|
+
const particleClearDensityKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
1289
1295
|
"use gpu";
|
|
1290
|
-
|
|
1296
|
+
atomicStore(simLayout.$.dens[i], u32(0));
|
|
1291
1297
|
}), {
|
|
1292
1298
|
v: 1,
|
|
1293
1299
|
name: void 0,
|
|
@@ -1332,30 +1338,30 @@ const particleClearDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (glo
|
|
|
1332
1338
|
]
|
|
1333
1339
|
},
|
|
1334
1340
|
externals: () => ({
|
|
1335
|
-
std,
|
|
1341
|
+
std: std_exports,
|
|
1336
1342
|
simLayout,
|
|
1337
|
-
d
|
|
1343
|
+
d: data_exports
|
|
1338
1344
|
})
|
|
1339
1345
|
}) && $.f)({})).$name("particlesClearDensity");
|
|
1340
|
-
const particleDensityKernel =
|
|
1346
|
+
const particleDensityKernel = src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
1341
1347
|
"use gpu";
|
|
1342
1348
|
const prm = simLayout.$.params;
|
|
1343
1349
|
const pos = simLayout.$.pos[i];
|
|
1344
|
-
const g =
|
|
1345
|
-
const c =
|
|
1346
|
-
const base =
|
|
1347
|
-
const f =
|
|
1348
|
-
const bi =
|
|
1349
|
-
const bj =
|
|
1350
|
-
const bk =
|
|
1351
|
-
const gi =
|
|
1350
|
+
const g = f32(DGRID);
|
|
1351
|
+
const c = vec3f(__tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.x, prm.gridOffX), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.y, prm.gridOffY), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5), __tsover_sub(__tsover_mul(__tsover_div(__tsover_add(__tsover_add(pos.z, prm.gridOffZ), DOMAIN), __tsover_mul(2, DOMAIN)), g), .5));
|
|
1352
|
+
const base = clamp(floor(c), vec3f(0, 0, 0), vec3f(__tsover_sub(g, 2), __tsover_sub(g, 2), __tsover_sub(g, 2)));
|
|
1353
|
+
const f = clamp(c.sub(base), vec3f(0, 0, 0), vec3f(1, 1, 1));
|
|
1354
|
+
const bi = i32(base.x);
|
|
1355
|
+
const bj = i32(base.y);
|
|
1356
|
+
const bk = i32(base.z);
|
|
1357
|
+
const gi = i32(DGRID);
|
|
1352
1358
|
for (let dz = 0; dz < 2; dz++) for (let dy = 0; dy < 2; dy++) for (let dx = 0; dx < 2; dx++) {
|
|
1353
|
-
const wx =
|
|
1354
|
-
const wy =
|
|
1355
|
-
const wz =
|
|
1359
|
+
const wx = mix(__tsover_sub(1, f.x), f.x, f32(dx));
|
|
1360
|
+
const wy = mix(__tsover_sub(1, f.y), f.y, f32(dy));
|
|
1361
|
+
const wz = mix(__tsover_sub(1, f.z), f.z, f32(dz));
|
|
1356
1362
|
const w = __tsover_mul(__tsover_mul(wx, wy), wz);
|
|
1357
|
-
const idx =
|
|
1358
|
-
|
|
1363
|
+
const idx = u32(__tsover_add(__tsover_mul(__tsover_add(__tsover_mul(__tsover_add(bk, dz), gi), __tsover_add(bj, dy)), gi), __tsover_add(bi, dx)));
|
|
1364
|
+
atomicAdd(simLayout.$.dens[idx], u32(__tsover_add(__tsover_mul(w, 64), .5)));
|
|
1359
1365
|
}
|
|
1360
1366
|
}), {
|
|
1361
1367
|
v: 1,
|
|
@@ -2003,166 +2009,212 @@ const particleDensityKernel = tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalTh
|
|
|
2003
2009
|
},
|
|
2004
2010
|
externals: () => ({
|
|
2005
2011
|
simLayout,
|
|
2006
|
-
d,
|
|
2012
|
+
d: data_exports,
|
|
2007
2013
|
DGRID,
|
|
2008
2014
|
DOMAIN,
|
|
2009
|
-
std
|
|
2015
|
+
std: std_exports
|
|
2010
2016
|
})
|
|
2011
2017
|
}) && $.f)({})).$name("particlesDensity");
|
|
2012
|
-
|
|
2018
|
+
var glowProfile = src_default.fn([
|
|
2019
|
+
f32,
|
|
2020
|
+
f32,
|
|
2021
|
+
f32,
|
|
2022
|
+
f32,
|
|
2023
|
+
f32
|
|
2024
|
+
], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((q, _ddx, _ddy, _size, _soft) => {
|
|
2013
2025
|
"use gpu";
|
|
2014
|
-
|
|
2015
|
-
std.atomicStore(simLayout.$.accumE[idx], d.u32(0));
|
|
2016
|
-
std.atomicStore(simLayout.$.accumS[idx], d.u32(0));
|
|
2026
|
+
return exp(__tsover_mul(q, -2.5));
|
|
2017
2027
|
}), {
|
|
2018
2028
|
v: 1,
|
|
2019
2029
|
name: void 0,
|
|
2020
2030
|
ast: {
|
|
2021
|
-
"params": [
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2031
|
+
"params": [
|
|
2032
|
+
{
|
|
2033
|
+
"type": "i",
|
|
2034
|
+
"name": "q"
|
|
2035
|
+
},
|
|
2036
|
+
{
|
|
2037
|
+
"type": "i",
|
|
2038
|
+
"name": "_ddx"
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"type": "i",
|
|
2042
|
+
"name": "_ddy"
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
"type": "i",
|
|
2046
|
+
"name": "_size"
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
"type": "i",
|
|
2050
|
+
"name": "_soft"
|
|
2051
|
+
}
|
|
2052
|
+
],
|
|
2053
|
+
"body": [0, [[10, [
|
|
2054
|
+
6,
|
|
2029
2055
|
[
|
|
2030
|
-
|
|
2031
|
-
"
|
|
2056
|
+
7,
|
|
2057
|
+
"std",
|
|
2058
|
+
"exp"
|
|
2059
|
+
],
|
|
2060
|
+
[[
|
|
2061
|
+
1,
|
|
2062
|
+
"q",
|
|
2063
|
+
"*",
|
|
2032
2064
|
[
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
"y",
|
|
2037
|
-
"*",
|
|
2038
|
-
[
|
|
2039
|
-
6,
|
|
2040
|
-
[
|
|
2041
|
-
7,
|
|
2042
|
-
"d",
|
|
2043
|
-
"u32"
|
|
2044
|
-
],
|
|
2045
|
-
["OUT_RES"]
|
|
2046
|
-
]
|
|
2047
|
-
],
|
|
2048
|
-
"+",
|
|
2049
|
-
"x"
|
|
2065
|
+
4,
|
|
2066
|
+
"-",
|
|
2067
|
+
[5, "2.5"]
|
|
2050
2068
|
]
|
|
2069
|
+
]]
|
|
2070
|
+
]]]],
|
|
2071
|
+
"externalNames": ["std"]
|
|
2072
|
+
},
|
|
2073
|
+
externals: () => ({ std: std_exports })
|
|
2074
|
+
}) && $.f)({})).$name("particlesGlowProfile");
|
|
2075
|
+
function makeParticleProfileFn(name) {
|
|
2076
|
+
if (AGENT_SHAPES[name].soft === 1) return glowProfile;
|
|
2077
|
+
const weightFn = makeAgentTexelWeightFn(name);
|
|
2078
|
+
return src_default.fn([
|
|
2079
|
+
f32,
|
|
2080
|
+
f32,
|
|
2081
|
+
f32,
|
|
2082
|
+
f32,
|
|
2083
|
+
f32
|
|
2084
|
+
], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((q, ddx, ddy, size, soft) => {
|
|
2085
|
+
"use gpu";
|
|
2086
|
+
return mix(weightFn(q, ddx, ddy, size, .9), exp(__tsover_mul(q, -2.5)), soft);
|
|
2087
|
+
}), {
|
|
2088
|
+
v: 1,
|
|
2089
|
+
name: void 0,
|
|
2090
|
+
ast: {
|
|
2091
|
+
"params": [
|
|
2092
|
+
{
|
|
2093
|
+
"type": "i",
|
|
2094
|
+
"name": "q"
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"type": "i",
|
|
2098
|
+
"name": "ddx"
|
|
2099
|
+
},
|
|
2100
|
+
{
|
|
2101
|
+
"type": "i",
|
|
2102
|
+
"name": "ddy"
|
|
2103
|
+
},
|
|
2104
|
+
{
|
|
2105
|
+
"type": "i",
|
|
2106
|
+
"name": "size"
|
|
2107
|
+
},
|
|
2108
|
+
{
|
|
2109
|
+
"type": "i",
|
|
2110
|
+
"name": "soft"
|
|
2111
|
+
}
|
|
2051
2112
|
],
|
|
2052
|
-
[
|
|
2053
|
-
6,
|
|
2113
|
+
"body": [0, [
|
|
2054
2114
|
[
|
|
2055
|
-
|
|
2056
|
-
"
|
|
2057
|
-
"atomicStore"
|
|
2058
|
-
],
|
|
2059
|
-
[[
|
|
2060
|
-
8,
|
|
2115
|
+
13,
|
|
2116
|
+
"wHard",
|
|
2061
2117
|
[
|
|
2062
|
-
|
|
2118
|
+
6,
|
|
2119
|
+
"weightFn",
|
|
2063
2120
|
[
|
|
2064
|
-
|
|
2065
|
-
"
|
|
2066
|
-
"
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
], [
|
|
2072
|
-
6,
|
|
2073
|
-
[
|
|
2074
|
-
7,
|
|
2075
|
-
"d",
|
|
2076
|
-
"u32"
|
|
2077
|
-
],
|
|
2078
|
-
[[5, "0"]]
|
|
2079
|
-
]]
|
|
2080
|
-
],
|
|
2081
|
-
[
|
|
2082
|
-
6,
|
|
2083
|
-
[
|
|
2084
|
-
7,
|
|
2085
|
-
"std",
|
|
2086
|
-
"atomicStore"
|
|
2121
|
+
"q",
|
|
2122
|
+
"ddx",
|
|
2123
|
+
"ddy",
|
|
2124
|
+
"size",
|
|
2125
|
+
[5, "0.9"]
|
|
2126
|
+
]
|
|
2127
|
+
]
|
|
2087
2128
|
],
|
|
2088
|
-
[
|
|
2089
|
-
|
|
2129
|
+
[
|
|
2130
|
+
13,
|
|
2131
|
+
"wSoft",
|
|
2090
2132
|
[
|
|
2091
|
-
|
|
2133
|
+
6,
|
|
2092
2134
|
[
|
|
2093
2135
|
7,
|
|
2094
|
-
"
|
|
2095
|
-
"
|
|
2136
|
+
"std",
|
|
2137
|
+
"exp"
|
|
2096
2138
|
],
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2139
|
+
[[
|
|
2140
|
+
1,
|
|
2141
|
+
"q",
|
|
2142
|
+
"*",
|
|
2143
|
+
[
|
|
2144
|
+
4,
|
|
2145
|
+
"-",
|
|
2146
|
+
[5, "2.5"]
|
|
2147
|
+
]
|
|
2148
|
+
]]
|
|
2149
|
+
]
|
|
2150
|
+
],
|
|
2151
|
+
[10, [
|
|
2101
2152
|
6,
|
|
2102
2153
|
[
|
|
2103
2154
|
7,
|
|
2104
|
-
"
|
|
2105
|
-
"
|
|
2155
|
+
"std",
|
|
2156
|
+
"mix"
|
|
2106
2157
|
],
|
|
2107
|
-
[
|
|
2158
|
+
[
|
|
2159
|
+
"wHard",
|
|
2160
|
+
"wSoft",
|
|
2161
|
+
"soft"
|
|
2162
|
+
]
|
|
2108
2163
|
]]
|
|
2109
|
-
]
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
externals: () => ({
|
|
2119
|
-
d,
|
|
2120
|
-
OUT_RES,
|
|
2121
|
-
std,
|
|
2122
|
-
simLayout
|
|
2123
|
-
})
|
|
2124
|
-
}) && $.f)({})).$name("particlesClearAccum");
|
|
2164
|
+
]],
|
|
2165
|
+
"externalNames": ["weightFn", "std"]
|
|
2166
|
+
},
|
|
2167
|
+
externals: () => ({
|
|
2168
|
+
weightFn,
|
|
2169
|
+
std: std_exports
|
|
2170
|
+
})
|
|
2171
|
+
}) && $.f)({})).$name("particlesProfile");
|
|
2172
|
+
}
|
|
2125
2173
|
function makeParticleSplatKernel(shape) {
|
|
2126
|
-
const
|
|
2127
|
-
|
|
2128
|
-
const FORCE_SOFT = AGENT_SHAPES[name].soft;
|
|
2129
|
-
return tgpu.fn([d.u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
2174
|
+
const profileFn = makeParticleProfileFn(resolveAgentShape(shape, "dot"));
|
|
2175
|
+
return src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
2130
2176
|
"use gpu";
|
|
2131
2177
|
const prm = simLayout.$.params;
|
|
2132
2178
|
const pos = simLayout.$.pos[i];
|
|
2133
2179
|
const vel = simLayout.$.vel[i];
|
|
2134
|
-
const persp = __tsover_div(1,
|
|
2180
|
+
const persp = __tsover_div(1, clamp(__tsover_sub(1, __tsover_mul(pos.z, .35)), .45, 2));
|
|
2135
2181
|
const xs = __tsover_mul(pos.x, persp);
|
|
2136
2182
|
const ys = __tsover_mul(__tsover_mul(pos.y, persp), -1);
|
|
2137
2183
|
const rx = __tsover_sub(__tsover_mul(xs, prm.rotC), __tsover_mul(ys, prm.rotS));
|
|
2138
2184
|
const ry = __tsover_add(__tsover_mul(ys, prm.rotC), __tsover_mul(xs, prm.rotS));
|
|
2139
2185
|
const u = __tsover_add(prm.centerX, __tsover_div(__tsover_mul(rx, prm.scale), prm.aspect));
|
|
2140
2186
|
const v = __tsover_add(prm.centerYv, __tsover_mul(ry, prm.scale));
|
|
2141
|
-
const outF =
|
|
2187
|
+
const outF = f32(OUT_RES);
|
|
2142
2188
|
const tx = __tsover_mul(u, outF);
|
|
2143
2189
|
const ty = __tsover_mul(v, outF);
|
|
2144
|
-
const size =
|
|
2190
|
+
const size = clamp(__tsover_mul(__tsover_mul(__tsover_mul(prm.size, __tsover_add(.65, __tsover_mul(.7, pos.w))), persp), prm.scale), .6, f32(MAX_SPLAT_SIZE));
|
|
2145
2191
|
const bright = __tsover_mul(__tsover_mul(__tsover_add(.7, __tsover_mul(.6, pos.w)), persp), persp);
|
|
2146
|
-
const speedNorm =
|
|
2147
|
-
const
|
|
2148
|
-
const cxi =
|
|
2149
|
-
const cyi =
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2192
|
+
const speedNorm = clamp(__tsover_mul(vel.w, prm.speedColorK), 0, 1);
|
|
2193
|
+
const doSpeed = __tsover_mul(__tsover_mul(bright, speedNorm), 256) >= 1;
|
|
2194
|
+
const cxi = i32(floor(tx));
|
|
2195
|
+
const cyi = i32(floor(ty));
|
|
2196
|
+
const rad = i32(ceil(__tsover_mul(size, f32(EXT))));
|
|
2197
|
+
const radF = f32(rad);
|
|
2198
|
+
if (tx > __tsover_mul(radF, -1) && tx < __tsover_add(outF, radF) && ty > __tsover_mul(radF, -1) && ty < __tsover_add(outF, radF)) {
|
|
2199
|
+
const x0 = max(__tsover_sub(cxi, rad), 0);
|
|
2200
|
+
const x1 = min(__tsover_add(cxi, rad), i32(__tsover_sub(OUT_RES, 1)));
|
|
2201
|
+
const y0 = max(__tsover_sub(cyi, rad), 0);
|
|
2202
|
+
const y1 = min(__tsover_add(cyi, rad), i32(__tsover_sub(OUT_RES, 1)));
|
|
2203
|
+
const sizeSq = max(__tsover_mul(size, size), .01);
|
|
2204
|
+
for (let py = y0; py <= y1; py++) {
|
|
2205
|
+
const ddy = __tsover_sub(__tsover_add(f32(py), .5), ty);
|
|
2206
|
+
const ddySq = __tsover_mul(ddy, ddy);
|
|
2207
|
+
for (let px = x0; px <= x1; px++) {
|
|
2208
|
+
const ddx = __tsover_sub(__tsover_add(f32(px), .5), tx);
|
|
2209
|
+
const q = __tsover_div(__tsover_add(__tsover_mul(ddx, ddx), ddySq), sizeSq);
|
|
2210
|
+
if (q < EXTQ) {
|
|
2211
|
+
const w = profileFn(q, ddx, ddy, size, prm.softness);
|
|
2212
|
+
const e = u32(__tsover_mul(__tsover_mul(w, bright), 256));
|
|
2213
|
+
if (e > u32(0)) {
|
|
2214
|
+
const idx = u32(__tsover_add(__tsover_mul(py, i32(OUT_RES)), px));
|
|
2215
|
+
atomicAdd(simLayout.$.accumE[idx], e);
|
|
2216
|
+
if (doSpeed) atomicAdd(simLayout.$.accumS[idx], u32(__tsover_mul(__tsover_mul(__tsover_mul(w, bright), speedNorm), 256)));
|
|
2217
|
+
}
|
|
2166
2218
|
}
|
|
2167
2219
|
}
|
|
2168
2220
|
}
|
|
@@ -2497,7 +2549,7 @@ function makeParticleSplatKernel(shape) {
|
|
|
2497
2549
|
"d",
|
|
2498
2550
|
"f32"
|
|
2499
2551
|
],
|
|
2500
|
-
["
|
|
2552
|
+
["MAX_SPLAT_SIZE"]
|
|
2501
2553
|
]
|
|
2502
2554
|
]
|
|
2503
2555
|
]
|
|
@@ -2563,32 +2615,48 @@ function makeParticleSplatKernel(shape) {
|
|
|
2563
2615
|
],
|
|
2564
2616
|
[
|
|
2565
2617
|
13,
|
|
2566
|
-
"
|
|
2618
|
+
"doSpeed",
|
|
2619
|
+
[
|
|
2620
|
+
1,
|
|
2621
|
+
[
|
|
2622
|
+
1,
|
|
2623
|
+
[
|
|
2624
|
+
1,
|
|
2625
|
+
"bright",
|
|
2626
|
+
"*",
|
|
2627
|
+
"speedNorm"
|
|
2628
|
+
],
|
|
2629
|
+
"*",
|
|
2630
|
+
[5, "256"]
|
|
2631
|
+
],
|
|
2632
|
+
">=",
|
|
2633
|
+
[5, "1"]
|
|
2634
|
+
]
|
|
2635
|
+
],
|
|
2636
|
+
[
|
|
2637
|
+
13,
|
|
2638
|
+
"cxi",
|
|
2567
2639
|
[
|
|
2568
2640
|
6,
|
|
2569
2641
|
[
|
|
2570
2642
|
7,
|
|
2571
|
-
"
|
|
2572
|
-
"
|
|
2643
|
+
"d",
|
|
2644
|
+
"i32"
|
|
2573
2645
|
],
|
|
2574
2646
|
[[
|
|
2575
|
-
7,
|
|
2576
|
-
"prm",
|
|
2577
|
-
"softness"
|
|
2578
|
-
], [
|
|
2579
2647
|
6,
|
|
2580
2648
|
[
|
|
2581
2649
|
7,
|
|
2582
|
-
"
|
|
2583
|
-
"
|
|
2650
|
+
"std",
|
|
2651
|
+
"floor"
|
|
2584
2652
|
],
|
|
2585
|
-
["
|
|
2653
|
+
["tx"]
|
|
2586
2654
|
]]
|
|
2587
2655
|
]
|
|
2588
2656
|
],
|
|
2589
2657
|
[
|
|
2590
2658
|
13,
|
|
2591
|
-
"
|
|
2659
|
+
"cyi",
|
|
2592
2660
|
[
|
|
2593
2661
|
6,
|
|
2594
2662
|
[
|
|
@@ -2603,13 +2671,13 @@ function makeParticleSplatKernel(shape) {
|
|
|
2603
2671
|
"std",
|
|
2604
2672
|
"floor"
|
|
2605
2673
|
],
|
|
2606
|
-
["
|
|
2674
|
+
["ty"]
|
|
2607
2675
|
]]
|
|
2608
2676
|
]
|
|
2609
2677
|
],
|
|
2610
2678
|
[
|
|
2611
2679
|
13,
|
|
2612
|
-
"
|
|
2680
|
+
"rad",
|
|
2613
2681
|
[
|
|
2614
2682
|
6,
|
|
2615
2683
|
[
|
|
@@ -2622,302 +2690,371 @@ function makeParticleSplatKernel(shape) {
|
|
|
2622
2690
|
[
|
|
2623
2691
|
7,
|
|
2624
2692
|
"std",
|
|
2625
|
-
"
|
|
2693
|
+
"ceil"
|
|
2626
2694
|
],
|
|
2627
|
-
[
|
|
2695
|
+
[[
|
|
2696
|
+
1,
|
|
2697
|
+
"size",
|
|
2698
|
+
"*",
|
|
2699
|
+
[
|
|
2700
|
+
6,
|
|
2701
|
+
[
|
|
2702
|
+
7,
|
|
2703
|
+
"d",
|
|
2704
|
+
"f32"
|
|
2705
|
+
],
|
|
2706
|
+
["EXT"]
|
|
2707
|
+
]
|
|
2708
|
+
]]
|
|
2628
2709
|
]]
|
|
2629
2710
|
]
|
|
2630
2711
|
],
|
|
2631
2712
|
[
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
12,
|
|
2635
|
-
"ky",
|
|
2636
|
-
[5, "0"]
|
|
2637
|
-
],
|
|
2713
|
+
13,
|
|
2714
|
+
"radF",
|
|
2638
2715
|
[
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2716
|
+
6,
|
|
2717
|
+
[
|
|
2718
|
+
7,
|
|
2719
|
+
"d",
|
|
2720
|
+
"f32"
|
|
2721
|
+
],
|
|
2722
|
+
["rad"]
|
|
2723
|
+
]
|
|
2724
|
+
],
|
|
2725
|
+
[
|
|
2726
|
+
13,
|
|
2727
|
+
"onTarget",
|
|
2644
2728
|
[
|
|
2645
|
-
|
|
2646
|
-
"++",
|
|
2647
|
-
"ky"
|
|
2648
|
-
],
|
|
2649
|
-
[0, [[
|
|
2650
|
-
14,
|
|
2729
|
+
3,
|
|
2651
2730
|
[
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2731
|
+
3,
|
|
2732
|
+
[
|
|
2733
|
+
3,
|
|
2734
|
+
[
|
|
2735
|
+
1,
|
|
2736
|
+
"tx",
|
|
2737
|
+
">",
|
|
2738
|
+
[
|
|
2739
|
+
1,
|
|
2740
|
+
"radF",
|
|
2741
|
+
"*",
|
|
2742
|
+
[
|
|
2743
|
+
4,
|
|
2744
|
+
"-",
|
|
2745
|
+
[5, "1"]
|
|
2746
|
+
]
|
|
2747
|
+
]
|
|
2748
|
+
],
|
|
2749
|
+
"&&",
|
|
2750
|
+
[
|
|
2751
|
+
1,
|
|
2752
|
+
"tx",
|
|
2753
|
+
"<",
|
|
2754
|
+
[
|
|
2755
|
+
1,
|
|
2756
|
+
"outF",
|
|
2757
|
+
"+",
|
|
2758
|
+
"radF"
|
|
2759
|
+
]
|
|
2760
|
+
]
|
|
2761
|
+
],
|
|
2762
|
+
"&&",
|
|
2763
|
+
[
|
|
2764
|
+
1,
|
|
2765
|
+
"ty",
|
|
2766
|
+
">",
|
|
2767
|
+
[
|
|
2768
|
+
1,
|
|
2769
|
+
"radF",
|
|
2770
|
+
"*",
|
|
2771
|
+
[
|
|
2772
|
+
4,
|
|
2773
|
+
"-",
|
|
2774
|
+
[5, "1"]
|
|
2775
|
+
]
|
|
2776
|
+
]
|
|
2777
|
+
]
|
|
2655
2778
|
],
|
|
2779
|
+
"&&",
|
|
2656
2780
|
[
|
|
2657
2781
|
1,
|
|
2658
|
-
"
|
|
2782
|
+
"ty",
|
|
2659
2783
|
"<",
|
|
2660
|
-
|
|
2661
|
-
|
|
2784
|
+
[
|
|
2785
|
+
1,
|
|
2786
|
+
"outF",
|
|
2787
|
+
"+",
|
|
2788
|
+
"radF"
|
|
2789
|
+
]
|
|
2790
|
+
]
|
|
2791
|
+
]
|
|
2792
|
+
],
|
|
2793
|
+
[
|
|
2794
|
+
11,
|
|
2795
|
+
"onTarget",
|
|
2796
|
+
[0, [
|
|
2662
2797
|
[
|
|
2663
|
-
|
|
2664
|
-
"
|
|
2665
|
-
|
|
2798
|
+
13,
|
|
2799
|
+
"x0",
|
|
2800
|
+
[
|
|
2801
|
+
6,
|
|
2802
|
+
[
|
|
2803
|
+
7,
|
|
2804
|
+
"std",
|
|
2805
|
+
"max"
|
|
2806
|
+
],
|
|
2807
|
+
[[
|
|
2808
|
+
1,
|
|
2809
|
+
"cxi",
|
|
2810
|
+
"-",
|
|
2811
|
+
"rad"
|
|
2812
|
+
], [5, "0"]]
|
|
2813
|
+
]
|
|
2666
2814
|
],
|
|
2667
|
-
[
|
|
2815
|
+
[
|
|
2816
|
+
13,
|
|
2817
|
+
"x1",
|
|
2668
2818
|
[
|
|
2669
|
-
|
|
2670
|
-
"px",
|
|
2819
|
+
6,
|
|
2671
2820
|
[
|
|
2821
|
+
7,
|
|
2822
|
+
"std",
|
|
2823
|
+
"min"
|
|
2824
|
+
],
|
|
2825
|
+
[[
|
|
2672
2826
|
1,
|
|
2827
|
+
"cxi",
|
|
2828
|
+
"+",
|
|
2829
|
+
"rad"
|
|
2830
|
+
], [
|
|
2831
|
+
6,
|
|
2673
2832
|
[
|
|
2674
|
-
|
|
2675
|
-
"
|
|
2676
|
-
"
|
|
2677
|
-
"kx"
|
|
2833
|
+
7,
|
|
2834
|
+
"d",
|
|
2835
|
+
"i32"
|
|
2678
2836
|
],
|
|
2837
|
+
[[
|
|
2838
|
+
1,
|
|
2839
|
+
"OUT_RES",
|
|
2840
|
+
"-",
|
|
2841
|
+
[5, "1"]
|
|
2842
|
+
]]
|
|
2843
|
+
]]
|
|
2844
|
+
]
|
|
2845
|
+
],
|
|
2846
|
+
[
|
|
2847
|
+
13,
|
|
2848
|
+
"y0",
|
|
2849
|
+
[
|
|
2850
|
+
6,
|
|
2851
|
+
[
|
|
2852
|
+
7,
|
|
2853
|
+
"std",
|
|
2854
|
+
"max"
|
|
2855
|
+
],
|
|
2856
|
+
[[
|
|
2857
|
+
1,
|
|
2858
|
+
"cyi",
|
|
2679
2859
|
"-",
|
|
2680
|
-
"
|
|
2681
|
-
]
|
|
2682
|
-
]
|
|
2860
|
+
"rad"
|
|
2861
|
+
], [5, "0"]]
|
|
2862
|
+
]
|
|
2863
|
+
],
|
|
2864
|
+
[
|
|
2865
|
+
13,
|
|
2866
|
+
"y1",
|
|
2683
2867
|
[
|
|
2684
|
-
|
|
2685
|
-
"py",
|
|
2868
|
+
6,
|
|
2686
2869
|
[
|
|
2870
|
+
7,
|
|
2871
|
+
"std",
|
|
2872
|
+
"min"
|
|
2873
|
+
],
|
|
2874
|
+
[[
|
|
2687
2875
|
1,
|
|
2876
|
+
"cyi",
|
|
2877
|
+
"+",
|
|
2878
|
+
"rad"
|
|
2879
|
+
], [
|
|
2880
|
+
6,
|
|
2688
2881
|
[
|
|
2689
|
-
|
|
2690
|
-
"
|
|
2691
|
-
"
|
|
2692
|
-
"ky"
|
|
2882
|
+
7,
|
|
2883
|
+
"d",
|
|
2884
|
+
"i32"
|
|
2693
2885
|
],
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2886
|
+
[[
|
|
2887
|
+
1,
|
|
2888
|
+
"OUT_RES",
|
|
2889
|
+
"-",
|
|
2890
|
+
[5, "1"]
|
|
2891
|
+
]]
|
|
2892
|
+
]]
|
|
2893
|
+
]
|
|
2894
|
+
],
|
|
2895
|
+
[
|
|
2896
|
+
13,
|
|
2897
|
+
"sizeSq",
|
|
2898
|
+
[
|
|
2899
|
+
6,
|
|
2900
|
+
[
|
|
2901
|
+
7,
|
|
2902
|
+
"std",
|
|
2903
|
+
"max"
|
|
2904
|
+
],
|
|
2905
|
+
[[
|
|
2906
|
+
1,
|
|
2907
|
+
"size",
|
|
2908
|
+
"*",
|
|
2909
|
+
"size"
|
|
2910
|
+
], [5, "0.01"]]
|
|
2911
|
+
]
|
|
2912
|
+
],
|
|
2913
|
+
[
|
|
2914
|
+
14,
|
|
2915
|
+
[
|
|
2916
|
+
12,
|
|
2917
|
+
"py",
|
|
2918
|
+
"y0"
|
|
2919
|
+
],
|
|
2920
|
+
[
|
|
2921
|
+
1,
|
|
2922
|
+
"py",
|
|
2923
|
+
"<=",
|
|
2924
|
+
"y1"
|
|
2697
2925
|
],
|
|
2698
2926
|
[
|
|
2699
|
-
|
|
2927
|
+
102,
|
|
2928
|
+
"++",
|
|
2929
|
+
"py"
|
|
2930
|
+
],
|
|
2931
|
+
[0, [
|
|
2700
2932
|
[
|
|
2701
|
-
|
|
2933
|
+
13,
|
|
2934
|
+
"ddy",
|
|
2702
2935
|
[
|
|
2703
|
-
|
|
2936
|
+
1,
|
|
2704
2937
|
[
|
|
2705
|
-
|
|
2938
|
+
1,
|
|
2706
2939
|
[
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2940
|
+
6,
|
|
2941
|
+
[
|
|
2942
|
+
7,
|
|
2943
|
+
"d",
|
|
2944
|
+
"f32"
|
|
2945
|
+
],
|
|
2946
|
+
["py"]
|
|
2711
2947
|
],
|
|
2712
|
-
"
|
|
2713
|
-
[
|
|
2714
|
-
1,
|
|
2715
|
-
"px",
|
|
2716
|
-
"<",
|
|
2717
|
-
"OUT_RES"
|
|
2718
|
-
]
|
|
2948
|
+
"+",
|
|
2949
|
+
[5, "0.5"]
|
|
2719
2950
|
],
|
|
2720
|
-
"
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
],
|
|
2728
|
-
"&&",
|
|
2951
|
+
"-",
|
|
2952
|
+
"ty"
|
|
2953
|
+
]
|
|
2954
|
+
],
|
|
2955
|
+
[
|
|
2956
|
+
13,
|
|
2957
|
+
"ddySq",
|
|
2729
2958
|
[
|
|
2730
2959
|
1,
|
|
2731
|
-
"
|
|
2732
|
-
"
|
|
2733
|
-
"
|
|
2960
|
+
"ddy",
|
|
2961
|
+
"*",
|
|
2962
|
+
"ddy"
|
|
2734
2963
|
]
|
|
2735
2964
|
],
|
|
2736
|
-
[
|
|
2965
|
+
[
|
|
2966
|
+
14,
|
|
2737
2967
|
[
|
|
2738
|
-
|
|
2739
|
-
"
|
|
2740
|
-
|
|
2741
|
-
1,
|
|
2742
|
-
[
|
|
2743
|
-
1,
|
|
2744
|
-
[
|
|
2745
|
-
6,
|
|
2746
|
-
[
|
|
2747
|
-
7,
|
|
2748
|
-
"d",
|
|
2749
|
-
"f32"
|
|
2750
|
-
],
|
|
2751
|
-
["px"]
|
|
2752
|
-
],
|
|
2753
|
-
"+",
|
|
2754
|
-
[5, "0.5"]
|
|
2755
|
-
],
|
|
2756
|
-
"-",
|
|
2757
|
-
"tx"
|
|
2758
|
-
]
|
|
2968
|
+
12,
|
|
2969
|
+
"px",
|
|
2970
|
+
"x0"
|
|
2759
2971
|
],
|
|
2760
2972
|
[
|
|
2761
|
-
|
|
2762
|
-
"
|
|
2973
|
+
1,
|
|
2974
|
+
"px",
|
|
2975
|
+
"<=",
|
|
2976
|
+
"x1"
|
|
2977
|
+
],
|
|
2978
|
+
[
|
|
2979
|
+
102,
|
|
2980
|
+
"++",
|
|
2981
|
+
"px"
|
|
2982
|
+
],
|
|
2983
|
+
[0, [
|
|
2763
2984
|
[
|
|
2764
|
-
|
|
2985
|
+
13,
|
|
2986
|
+
"ddx",
|
|
2765
2987
|
[
|
|
2766
2988
|
1,
|
|
2767
2989
|
[
|
|
2768
|
-
|
|
2990
|
+
1,
|
|
2769
2991
|
[
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2992
|
+
6,
|
|
2993
|
+
[
|
|
2994
|
+
7,
|
|
2995
|
+
"d",
|
|
2996
|
+
"f32"
|
|
2997
|
+
],
|
|
2998
|
+
["px"]
|
|
2773
2999
|
],
|
|
2774
|
-
|
|
3000
|
+
"+",
|
|
3001
|
+
[5, "0.5"]
|
|
2775
3002
|
],
|
|
2776
|
-
"
|
|
2777
|
-
|
|
2778
|
-
]
|
|
2779
|
-
|
|
2780
|
-
"ty"
|
|
2781
|
-
]
|
|
2782
|
-
],
|
|
2783
|
-
[
|
|
2784
|
-
13,
|
|
2785
|
-
"q",
|
|
3003
|
+
"-",
|
|
3004
|
+
"tx"
|
|
3005
|
+
]
|
|
3006
|
+
],
|
|
2786
3007
|
[
|
|
2787
|
-
|
|
3008
|
+
13,
|
|
3009
|
+
"q",
|
|
2788
3010
|
[
|
|
2789
3011
|
1,
|
|
2790
3012
|
[
|
|
2791
3013
|
1,
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
"
|
|
2800
|
-
"*",
|
|
2801
|
-
"ddy"
|
|
2802
|
-
]
|
|
2803
|
-
],
|
|
2804
|
-
"/",
|
|
2805
|
-
[
|
|
2806
|
-
6,
|
|
2807
|
-
[
|
|
2808
|
-
7,
|
|
2809
|
-
"std",
|
|
2810
|
-
"max"
|
|
3014
|
+
[
|
|
3015
|
+
1,
|
|
3016
|
+
"ddx",
|
|
3017
|
+
"*",
|
|
3018
|
+
"ddx"
|
|
3019
|
+
],
|
|
3020
|
+
"+",
|
|
3021
|
+
"ddySq"
|
|
2811
3022
|
],
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
"size",
|
|
2815
|
-
"*",
|
|
2816
|
-
"size"
|
|
2817
|
-
], [5, "0.01"]]
|
|
3023
|
+
"/",
|
|
3024
|
+
"sizeSq"
|
|
2818
3025
|
]
|
|
2819
|
-
]
|
|
2820
|
-
],
|
|
2821
|
-
[
|
|
2822
|
-
11,
|
|
2823
|
-
[
|
|
2824
|
-
1,
|
|
2825
|
-
"q",
|
|
2826
|
-
"<",
|
|
2827
|
-
[5, "2.6"]
|
|
2828
3026
|
],
|
|
2829
|
-
[
|
|
3027
|
+
[
|
|
3028
|
+
11,
|
|
2830
3029
|
[
|
|
2831
|
-
|
|
2832
|
-
"
|
|
3030
|
+
1,
|
|
3031
|
+
"q",
|
|
3032
|
+
"<",
|
|
3033
|
+
"EXTQ"
|
|
3034
|
+
],
|
|
3035
|
+
[0, [
|
|
2833
3036
|
[
|
|
2834
|
-
|
|
2835
|
-
"
|
|
3037
|
+
13,
|
|
3038
|
+
"w",
|
|
2836
3039
|
[
|
|
2837
|
-
|
|
2838
|
-
"
|
|
2839
|
-
"size",
|
|
2840
|
-
[5, "0.9"],
|
|
3040
|
+
6,
|
|
3041
|
+
"profileFn",
|
|
2841
3042
|
[
|
|
2842
|
-
|
|
3043
|
+
"q",
|
|
3044
|
+
"ddx",
|
|
3045
|
+
"ddy",
|
|
3046
|
+
"size",
|
|
2843
3047
|
[
|
|
2844
3048
|
7,
|
|
2845
|
-
"
|
|
2846
|
-
"
|
|
2847
|
-
]
|
|
2848
|
-
[[5, "0"]]
|
|
2849
|
-
]
|
|
2850
|
-
]
|
|
2851
|
-
]
|
|
2852
|
-
],
|
|
2853
|
-
[
|
|
2854
|
-
13,
|
|
2855
|
-
"wSoft",
|
|
2856
|
-
[
|
|
2857
|
-
6,
|
|
2858
|
-
[
|
|
2859
|
-
7,
|
|
2860
|
-
"std",
|
|
2861
|
-
"exp"
|
|
2862
|
-
],
|
|
2863
|
-
[[
|
|
2864
|
-
1,
|
|
2865
|
-
"q",
|
|
2866
|
-
"*",
|
|
2867
|
-
[
|
|
2868
|
-
4,
|
|
2869
|
-
"-",
|
|
2870
|
-
[5, "2.5"]
|
|
3049
|
+
"prm",
|
|
3050
|
+
"softness"
|
|
3051
|
+
]
|
|
2871
3052
|
]
|
|
2872
|
-
]]
|
|
2873
|
-
]
|
|
2874
|
-
],
|
|
2875
|
-
[
|
|
2876
|
-
13,
|
|
2877
|
-
"w",
|
|
2878
|
-
[
|
|
2879
|
-
6,
|
|
2880
|
-
[
|
|
2881
|
-
7,
|
|
2882
|
-
"std",
|
|
2883
|
-
"mix"
|
|
2884
|
-
],
|
|
2885
|
-
[
|
|
2886
|
-
"wHard",
|
|
2887
|
-
"wSoft",
|
|
2888
|
-
"softV"
|
|
2889
3053
|
]
|
|
2890
|
-
]
|
|
2891
|
-
],
|
|
2892
|
-
[
|
|
2893
|
-
13,
|
|
2894
|
-
"e",
|
|
2895
|
-
[
|
|
2896
|
-
6,
|
|
2897
|
-
[
|
|
2898
|
-
7,
|
|
2899
|
-
"d",
|
|
2900
|
-
"u32"
|
|
2901
|
-
],
|
|
2902
|
-
[[
|
|
2903
|
-
1,
|
|
2904
|
-
[
|
|
2905
|
-
1,
|
|
2906
|
-
"w",
|
|
2907
|
-
"*",
|
|
2908
|
-
"bright"
|
|
2909
|
-
],
|
|
2910
|
-
"*",
|
|
2911
|
-
[5, "256"]
|
|
2912
|
-
]]
|
|
2913
|
-
]
|
|
2914
|
-
],
|
|
2915
|
-
[
|
|
2916
|
-
11,
|
|
3054
|
+
],
|
|
2917
3055
|
[
|
|
2918
|
-
|
|
3056
|
+
13,
|
|
2919
3057
|
"e",
|
|
2920
|
-
">",
|
|
2921
3058
|
[
|
|
2922
3059
|
6,
|
|
2923
3060
|
[
|
|
@@ -2925,13 +3062,25 @@ function makeParticleSplatKernel(shape) {
|
|
|
2925
3062
|
"d",
|
|
2926
3063
|
"u32"
|
|
2927
3064
|
],
|
|
2928
|
-
[[
|
|
3065
|
+
[[
|
|
3066
|
+
1,
|
|
3067
|
+
[
|
|
3068
|
+
1,
|
|
3069
|
+
"w",
|
|
3070
|
+
"*",
|
|
3071
|
+
"bright"
|
|
3072
|
+
],
|
|
3073
|
+
"*",
|
|
3074
|
+
[5, "256"]
|
|
3075
|
+
]]
|
|
2929
3076
|
]
|
|
2930
3077
|
],
|
|
2931
|
-
[
|
|
3078
|
+
[
|
|
3079
|
+
11,
|
|
2932
3080
|
[
|
|
2933
|
-
|
|
2934
|
-
"
|
|
3081
|
+
1,
|
|
3082
|
+
"e",
|
|
3083
|
+
">",
|
|
2935
3084
|
[
|
|
2936
3085
|
6,
|
|
2937
3086
|
[
|
|
@@ -2939,92 +3088,119 @@ function makeParticleSplatKernel(shape) {
|
|
|
2939
3088
|
"d",
|
|
2940
3089
|
"u32"
|
|
2941
3090
|
],
|
|
2942
|
-
[[
|
|
2943
|
-
1,
|
|
2944
|
-
[
|
|
2945
|
-
1,
|
|
2946
|
-
"py",
|
|
2947
|
-
"*",
|
|
2948
|
-
"OUT_RES"
|
|
2949
|
-
],
|
|
2950
|
-
"+",
|
|
2951
|
-
"px"
|
|
2952
|
-
]]
|
|
3091
|
+
[[5, "0"]]
|
|
2953
3092
|
]
|
|
2954
3093
|
],
|
|
2955
|
-
[
|
|
2956
|
-
6,
|
|
3094
|
+
[0, [
|
|
2957
3095
|
[
|
|
2958
|
-
|
|
2959
|
-
"
|
|
2960
|
-
"atomicAdd"
|
|
2961
|
-
],
|
|
2962
|
-
[[
|
|
2963
|
-
8,
|
|
3096
|
+
13,
|
|
3097
|
+
"idx",
|
|
2964
3098
|
[
|
|
2965
|
-
|
|
3099
|
+
6,
|
|
2966
3100
|
[
|
|
2967
3101
|
7,
|
|
2968
|
-
"
|
|
2969
|
-
"
|
|
3102
|
+
"d",
|
|
3103
|
+
"u32"
|
|
2970
3104
|
],
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
3105
|
+
[[
|
|
3106
|
+
1,
|
|
3107
|
+
[
|
|
3108
|
+
1,
|
|
3109
|
+
"py",
|
|
3110
|
+
"*",
|
|
3111
|
+
[
|
|
3112
|
+
6,
|
|
3113
|
+
[
|
|
3114
|
+
7,
|
|
3115
|
+
"d",
|
|
3116
|
+
"i32"
|
|
3117
|
+
],
|
|
3118
|
+
["OUT_RES"]
|
|
3119
|
+
]
|
|
3120
|
+
],
|
|
3121
|
+
"+",
|
|
3122
|
+
"px"
|
|
3123
|
+
]]
|
|
3124
|
+
]
|
|
2982
3125
|
],
|
|
2983
|
-
[
|
|
2984
|
-
|
|
3126
|
+
[
|
|
3127
|
+
6,
|
|
2985
3128
|
[
|
|
2986
3129
|
7,
|
|
3130
|
+
"std",
|
|
3131
|
+
"atomicAdd"
|
|
3132
|
+
],
|
|
3133
|
+
[[
|
|
3134
|
+
8,
|
|
2987
3135
|
[
|
|
2988
3136
|
7,
|
|
2989
|
-
|
|
2990
|
-
|
|
3137
|
+
[
|
|
3138
|
+
7,
|
|
3139
|
+
"simLayout",
|
|
3140
|
+
"$"
|
|
3141
|
+
],
|
|
3142
|
+
"accumE"
|
|
2991
3143
|
],
|
|
2992
|
-
"
|
|
2993
|
-
],
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
3144
|
+
"idx"
|
|
3145
|
+
], "e"]
|
|
3146
|
+
],
|
|
3147
|
+
[
|
|
3148
|
+
11,
|
|
3149
|
+
"doSpeed",
|
|
2997
3150
|
[
|
|
2998
|
-
|
|
2999
|
-
"d",
|
|
3000
|
-
"u32"
|
|
3001
|
-
],
|
|
3002
|
-
[[
|
|
3003
|
-
1,
|
|
3151
|
+
6,
|
|
3004
3152
|
[
|
|
3005
|
-
|
|
3153
|
+
7,
|
|
3154
|
+
"std",
|
|
3155
|
+
"atomicAdd"
|
|
3156
|
+
],
|
|
3157
|
+
[[
|
|
3158
|
+
8,
|
|
3159
|
+
[
|
|
3160
|
+
7,
|
|
3161
|
+
[
|
|
3162
|
+
7,
|
|
3163
|
+
"simLayout",
|
|
3164
|
+
"$"
|
|
3165
|
+
],
|
|
3166
|
+
"accumS"
|
|
3167
|
+
],
|
|
3168
|
+
"idx"
|
|
3169
|
+
], [
|
|
3170
|
+
6,
|
|
3006
3171
|
[
|
|
3172
|
+
7,
|
|
3173
|
+
"d",
|
|
3174
|
+
"u32"
|
|
3175
|
+
],
|
|
3176
|
+
[[
|
|
3007
3177
|
1,
|
|
3008
|
-
|
|
3178
|
+
[
|
|
3179
|
+
1,
|
|
3180
|
+
[
|
|
3181
|
+
1,
|
|
3182
|
+
"w",
|
|
3183
|
+
"*",
|
|
3184
|
+
"bright"
|
|
3185
|
+
],
|
|
3186
|
+
"*",
|
|
3187
|
+
"speedNorm"
|
|
3188
|
+
],
|
|
3009
3189
|
"*",
|
|
3010
|
-
"
|
|
3011
|
-
]
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
]]
|
|
3025
|
-
]
|
|
3026
|
-
]]
|
|
3027
|
-
]]]
|
|
3190
|
+
[5, "256"]
|
|
3191
|
+
]]
|
|
3192
|
+
]]
|
|
3193
|
+
]
|
|
3194
|
+
]
|
|
3195
|
+
]]
|
|
3196
|
+
]
|
|
3197
|
+
]]
|
|
3198
|
+
]
|
|
3199
|
+
]]
|
|
3200
|
+
]
|
|
3201
|
+
]]
|
|
3202
|
+
]
|
|
3203
|
+
]]
|
|
3028
3204
|
]
|
|
3029
3205
|
]],
|
|
3030
3206
|
"externalNames": [
|
|
@@ -3032,38 +3208,40 @@ function makeParticleSplatKernel(shape) {
|
|
|
3032
3208
|
"std",
|
|
3033
3209
|
"d",
|
|
3034
3210
|
"OUT_RES",
|
|
3035
|
-
"
|
|
3036
|
-
"
|
|
3037
|
-
"
|
|
3038
|
-
"
|
|
3211
|
+
"MAX_SPLAT_SIZE",
|
|
3212
|
+
"EXT",
|
|
3213
|
+
"EXTQ",
|
|
3214
|
+
"profileFn"
|
|
3039
3215
|
]
|
|
3040
3216
|
},
|
|
3041
3217
|
externals: () => ({
|
|
3042
3218
|
simLayout,
|
|
3043
|
-
std,
|
|
3044
|
-
d,
|
|
3219
|
+
std: std_exports,
|
|
3220
|
+
d: data_exports,
|
|
3045
3221
|
OUT_RES,
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3222
|
+
MAX_SPLAT_SIZE,
|
|
3223
|
+
EXT,
|
|
3224
|
+
EXTQ,
|
|
3225
|
+
profileFn
|
|
3050
3226
|
})
|
|
3051
3227
|
}) && $.f)({})).$name("particlesSplat");
|
|
3052
3228
|
}
|
|
3053
3229
|
const particleSplatKernel = makeParticleSplatKernel("dot");
|
|
3054
3230
|
function makeParticleResolveKernel(colorSpaceMode) {
|
|
3055
3231
|
const mixFn = mixColorsVariants[colorSpaceMode] ?? mixColorsLinear;
|
|
3056
|
-
return
|
|
3232
|
+
return src_default.fn([u32, u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
|
|
3057
3233
|
"use gpu";
|
|
3058
3234
|
const prm = simLayout.$.params;
|
|
3059
|
-
const idx = __tsover_add(__tsover_mul(y,
|
|
3060
|
-
const eRaw =
|
|
3061
|
-
const sRaw =
|
|
3235
|
+
const idx = __tsover_add(__tsover_mul(y, u32(OUT_RES)), x);
|
|
3236
|
+
const eRaw = f32(atomicLoad(simLayout.$.accumE[idx]));
|
|
3237
|
+
const sRaw = f32(atomicLoad(simLayout.$.accumS[idx]));
|
|
3238
|
+
atomicStore(simLayout.$.accumE[idx], u32(0));
|
|
3239
|
+
atomicStore(simLayout.$.accumS[idx], u32(0));
|
|
3062
3240
|
const energy = __tsover_mul(__tsover_mul(eRaw, __tsover_div(1, 256)), prm.exposure);
|
|
3063
|
-
const speedAvg = __tsover_div(sRaw,
|
|
3064
|
-
const col = mixFn(prm.colA, prm.colB,
|
|
3065
|
-
const alpha = __tsover_sub(1,
|
|
3066
|
-
|
|
3241
|
+
const speedAvg = __tsover_div(sRaw, max(eRaw, 1));
|
|
3242
|
+
const col = mixFn(prm.colA, prm.colB, clamp(speedAvg, 0, 1));
|
|
3243
|
+
const alpha = __tsover_sub(1, exp(__tsover_mul(energy, -1.6)));
|
|
3244
|
+
textureStore(simLayout.$.outTex, vec2u(x, y), vec4f(col.x, col.y, col.z, __tsover_mul(alpha, col.w)));
|
|
3067
3245
|
}), {
|
|
3068
3246
|
v: 1,
|
|
3069
3247
|
name: void 0,
|
|
@@ -3178,6 +3356,64 @@ function makeParticleResolveKernel(colorSpaceMode) {
|
|
|
3178
3356
|
]]
|
|
3179
3357
|
]
|
|
3180
3358
|
],
|
|
3359
|
+
[
|
|
3360
|
+
6,
|
|
3361
|
+
[
|
|
3362
|
+
7,
|
|
3363
|
+
"std",
|
|
3364
|
+
"atomicStore"
|
|
3365
|
+
],
|
|
3366
|
+
[[
|
|
3367
|
+
8,
|
|
3368
|
+
[
|
|
3369
|
+
7,
|
|
3370
|
+
[
|
|
3371
|
+
7,
|
|
3372
|
+
"simLayout",
|
|
3373
|
+
"$"
|
|
3374
|
+
],
|
|
3375
|
+
"accumE"
|
|
3376
|
+
],
|
|
3377
|
+
"idx"
|
|
3378
|
+
], [
|
|
3379
|
+
6,
|
|
3380
|
+
[
|
|
3381
|
+
7,
|
|
3382
|
+
"d",
|
|
3383
|
+
"u32"
|
|
3384
|
+
],
|
|
3385
|
+
[[5, "0"]]
|
|
3386
|
+
]]
|
|
3387
|
+
],
|
|
3388
|
+
[
|
|
3389
|
+
6,
|
|
3390
|
+
[
|
|
3391
|
+
7,
|
|
3392
|
+
"std",
|
|
3393
|
+
"atomicStore"
|
|
3394
|
+
],
|
|
3395
|
+
[[
|
|
3396
|
+
8,
|
|
3397
|
+
[
|
|
3398
|
+
7,
|
|
3399
|
+
[
|
|
3400
|
+
7,
|
|
3401
|
+
"simLayout",
|
|
3402
|
+
"$"
|
|
3403
|
+
],
|
|
3404
|
+
"accumS"
|
|
3405
|
+
],
|
|
3406
|
+
"idx"
|
|
3407
|
+
], [
|
|
3408
|
+
6,
|
|
3409
|
+
[
|
|
3410
|
+
7,
|
|
3411
|
+
"d",
|
|
3412
|
+
"u32"
|
|
3413
|
+
],
|
|
3414
|
+
[[5, "0"]]
|
|
3415
|
+
]]
|
|
3416
|
+
],
|
|
3181
3417
|
[
|
|
3182
3418
|
13,
|
|
3183
3419
|
"energy",
|
|
@@ -3354,58 +3590,55 @@ function makeParticleResolveKernel(colorSpaceMode) {
|
|
|
3354
3590
|
},
|
|
3355
3591
|
externals: () => ({
|
|
3356
3592
|
simLayout,
|
|
3357
|
-
d,
|
|
3593
|
+
d: data_exports,
|
|
3358
3594
|
OUT_RES,
|
|
3359
|
-
std,
|
|
3595
|
+
std: std_exports,
|
|
3360
3596
|
mixFn
|
|
3361
3597
|
})
|
|
3362
3598
|
}) && $.f)({})).$name("particlesResolve");
|
|
3363
3599
|
}
|
|
3364
3600
|
function makeParticleUpdateKernel(evalSdf) {
|
|
3365
|
-
return
|
|
3601
|
+
return src_default.fn([u32])(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((i) => {
|
|
3366
3602
|
"use gpu";
|
|
3367
3603
|
const prm = simLayout.$.params;
|
|
3368
3604
|
const p4 = simLayout.$.pos[i];
|
|
3369
3605
|
const v4 = simLayout.$.vel[i];
|
|
3370
|
-
let pos =
|
|
3606
|
+
let pos = vec3f(p4.x, p4.y, p4.z);
|
|
3371
3607
|
const dt = prm.dt;
|
|
3372
3608
|
const sd = evalSdf(pos);
|
|
3373
|
-
const e =
|
|
3374
|
-
const
|
|
3375
|
-
const
|
|
3376
|
-
const
|
|
3377
|
-
const gv = d.vec3f(gx, gy, gz);
|
|
3378
|
-
const gn = gv.div(std.max(std.length(gv), 1e-4));
|
|
3379
|
-
const he = d.f32(__tsover_div(DOMAIN, DGRID));
|
|
3609
|
+
const e = f32(.02);
|
|
3610
|
+
const gv = vec3f(__tsover_sub(evalSdf(vec3f(__tsover_add(pos.x, e), pos.y, pos.z)), evalSdf(vec3f(__tsover_sub(pos.x, e), pos.y, pos.z))), __tsover_sub(evalSdf(vec3f(pos.x, __tsover_add(pos.y, e), pos.z)), evalSdf(vec3f(pos.x, __tsover_sub(pos.y, e), pos.z))), __tsover_sub(evalSdf(vec3f(pos.x, pos.y, __tsover_add(pos.z, e))), evalSdf(vec3f(pos.x, pos.y, __tsover_sub(pos.z, e)))));
|
|
3611
|
+
const gn = gv.div(max(length(gv), 1e-4));
|
|
3612
|
+
const he = f32(__tsover_div(DOMAIN, DGRID));
|
|
3380
3613
|
const c0 = densTrilinear(pos);
|
|
3381
|
-
const dgx = __tsover_sub(densTrilinear(
|
|
3382
|
-
const dgy = __tsover_sub(densTrilinear(
|
|
3383
|
-
const dgz = __tsover_sub(densTrilinear(
|
|
3384
|
-
const pressNorm = __tsover_div(__tsover_mul(prm.spread, 4.4),
|
|
3385
|
-
let F =
|
|
3386
|
-
const out =
|
|
3387
|
-
const wall = __tsover_add(__tsover_mul(
|
|
3614
|
+
const dgx = __tsover_sub(densTrilinear(vec3f(__tsover_add(pos.x, he), pos.y, pos.z)), densTrilinear(vec3f(__tsover_sub(pos.x, he), pos.y, pos.z)));
|
|
3615
|
+
const dgy = __tsover_sub(densTrilinear(vec3f(pos.x, __tsover_add(pos.y, he), pos.z)), densTrilinear(vec3f(pos.x, __tsover_sub(pos.y, he), pos.z)));
|
|
3616
|
+
const dgz = __tsover_sub(densTrilinear(vec3f(pos.x, pos.y, __tsover_add(pos.z, he))), densTrilinear(vec3f(pos.x, pos.y, __tsover_sub(pos.z, he))));
|
|
3617
|
+
const pressNorm = __tsover_div(__tsover_mul(prm.spread, 4.4), max(__tsover_add(__tsover_mul(c0, 2), 6), 6));
|
|
3618
|
+
let F = vec3f(__tsover_mul(__tsover_mul(dgx, -1), pressNorm), __tsover_mul(__tsover_mul(dgy, -1), pressNorm), __tsover_mul(__tsover_mul(dgz, -1), pressNorm));
|
|
3619
|
+
const out = max(sd, 0);
|
|
3620
|
+
const wall = __tsover_add(__tsover_mul(smoothstep(-.1, .01, sd), 1.1), __tsover_mul(out, 22));
|
|
3388
3621
|
F = F.sub(gn.mul(wall));
|
|
3389
|
-
const rl =
|
|
3390
|
-
const recall = __tsover_mul(
|
|
3391
|
-
F = F.sub(pos.mul(__tsover_div(recall,
|
|
3392
|
-
const homing = __tsover_mul(
|
|
3393
|
-
F = F.sub(pos.mul(__tsover_div(homing,
|
|
3394
|
-
const vPrev =
|
|
3395
|
-
const featureVel =
|
|
3396
|
-
const insideM = __tsover_sub(1,
|
|
3622
|
+
const rl = length(pos);
|
|
3623
|
+
const recall = __tsover_mul(smoothstep(__tsover_mul(DOMAIN, .85), __tsover_mul(DOMAIN, 1.1), rl), 9);
|
|
3624
|
+
F = F.sub(pos.mul(__tsover_div(recall, max(rl, 1e-4))));
|
|
3625
|
+
const homing = __tsover_mul(smoothstep(.12, .45, sd), 5);
|
|
3626
|
+
F = F.sub(pos.mul(__tsover_div(homing, max(rl, 1e-4))));
|
|
3627
|
+
const vPrev = vec3f(v4.x, v4.y, v4.z);
|
|
3628
|
+
const featureVel = cross(vec3f(prm.omegaX, prm.omegaY, prm.omegaZ), pos);
|
|
3629
|
+
const insideM = __tsover_sub(1, smoothstep(-.05, .05, sd));
|
|
3397
3630
|
F = F.add(featureVel.sub(vPrev).mul(__tsover_mul(prm.entrain, insideM)));
|
|
3398
|
-
const mxy = cursorMagnet(
|
|
3399
|
-
F = F.add(
|
|
3400
|
-
F = F.add(
|
|
3401
|
-
const rnd = hash33(pos.mul(193).add(
|
|
3631
|
+
const mxy = cursorMagnet(vec2f(__tsover_sub(pos.x, prm.mouseX), __tsover_sub(pos.y, prm.mouseY)), prm.mouseRadSq, prm.mouseForce);
|
|
3632
|
+
F = F.add(vec3f(mxy.x, mxy.y, 0));
|
|
3633
|
+
F = F.add(vec3f(prm.gravX, prm.gravY, 0));
|
|
3634
|
+
const rnd = hash33(pos.mul(193).add(vec3f(__tsover_mul(prm.time, 31.7), __tsover_mul(prm.time, 27.3), __tsover_mul(p4.w, 997)))).sub(vec3f(.5, .5, .5));
|
|
3402
3635
|
F = F.add(rnd.mul(__tsover_mul(prm.agitation, 5)));
|
|
3403
3636
|
let v3 = vPrev.add(F.mul(dt)).mul(prm.dragMul);
|
|
3404
|
-
const spd =
|
|
3405
|
-
v3 = v3.mul(__tsover_div(
|
|
3406
|
-
pos =
|
|
3407
|
-
simLayout.$.pos[i] =
|
|
3408
|
-
simLayout.$.vel[i] =
|
|
3637
|
+
const spd = length(v3);
|
|
3638
|
+
v3 = v3.mul(__tsover_div(min(spd, f32(MAX_SPEED)), max(spd, 1e-5)));
|
|
3639
|
+
pos = clamp(pos.add(v3.mul(dt)), vec3f(-1.9, -1.9, -1.9), vec3f(1.9, 1.9, 1.9));
|
|
3640
|
+
simLayout.$.pos[i] = vec4f(pos.x, pos.y, pos.z, p4.w);
|
|
3641
|
+
simLayout.$.vel[i] = vec4f(v3.x, v3.y, v3.z, length(v3));
|
|
3409
3642
|
}), {
|
|
3410
3643
|
v: 1,
|
|
3411
3644
|
name: void 0,
|
|
@@ -5005,9 +5238,9 @@ function makeParticleUpdateKernel(evalSdf) {
|
|
|
5005
5238
|
},
|
|
5006
5239
|
externals: () => ({
|
|
5007
5240
|
simLayout,
|
|
5008
|
-
d,
|
|
5241
|
+
d: data_exports,
|
|
5009
5242
|
evalSdf,
|
|
5010
|
-
std,
|
|
5243
|
+
std: std_exports,
|
|
5011
5244
|
DOMAIN,
|
|
5012
5245
|
DGRID,
|
|
5013
5246
|
densTrilinear,
|
|
@@ -5274,11 +5507,11 @@ const componentDefinition = {
|
|
|
5274
5507
|
if (!root) return null;
|
|
5275
5508
|
const shapeSdfUrl = getCpuValue("shapeSdfUrl") || "";
|
|
5276
5509
|
const shapeType = resolveShapeType(getCpuValue("shapeType") || "", getCpuValue("shape"));
|
|
5277
|
-
const posBuf = createStateBuffer(root,
|
|
5278
|
-
const velBuf = createStateBuffer(root,
|
|
5279
|
-
const densBuf = createStateBuffer(root,
|
|
5280
|
-
const accumE = createStateBuffer(root,
|
|
5281
|
-
const accumS = createStateBuffer(root,
|
|
5510
|
+
const posBuf = createStateBuffer(root, vec4f, MAX_PARTICLES);
|
|
5511
|
+
const velBuf = createStateBuffer(root, vec4f, MAX_PARTICLES);
|
|
5512
|
+
const densBuf = createStateBuffer(root, atomic(u32), DCELLS);
|
|
5513
|
+
const accumE = createStateBuffer(root, atomic(u32), OUT_RES * OUT_RES);
|
|
5514
|
+
const accumS = createStateBuffer(root, atomic(u32), OUT_RES * OUT_RES);
|
|
5282
5515
|
const outTex = /* @__PURE__ */ (globalThis.__TYPEGPU_AUTONAME__ ?? ((a) => a))(root.createTexture({
|
|
5283
5516
|
size: [OUT_RES, OUT_RES],
|
|
5284
5517
|
format: STATE_FORMAT
|
|
@@ -5312,12 +5545,12 @@ const componentDefinition = {
|
|
|
5312
5545
|
});
|
|
5313
5546
|
const baked = setup3d.sdfFn;
|
|
5314
5547
|
const layoutSvg = setup3d.layout;
|
|
5315
|
-
evalSdf =
|
|
5548
|
+
evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
|
|
5316
5549
|
"use gpu";
|
|
5317
5550
|
const ps = rotateVec3(p3, layoutSvg.$.params.rot);
|
|
5318
|
-
const exX =
|
|
5319
|
-
const exY =
|
|
5320
|
-
return __tsover_add(baked(ps),
|
|
5551
|
+
const exX = max(__tsover_sub(abs(ps.x), .5), 0);
|
|
5552
|
+
const exY = max(__tsover_sub(abs(ps.y), .5), 0);
|
|
5553
|
+
return __tsover_add(baked(ps), sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY))));
|
|
5321
5554
|
}), {
|
|
5322
5555
|
v: 1,
|
|
5323
5556
|
name: void 0,
|
|
@@ -5452,23 +5685,23 @@ const componentDefinition = {
|
|
|
5452
5685
|
externals: () => ({
|
|
5453
5686
|
rotateVec3,
|
|
5454
5687
|
layoutSvg,
|
|
5455
|
-
std,
|
|
5688
|
+
std: std_exports,
|
|
5456
5689
|
baked
|
|
5457
5690
|
})
|
|
5458
5691
|
}) && $.f)({}));
|
|
5459
5692
|
} else if (shapeSdfUrl) {
|
|
5460
5693
|
const sdfTex = createSdfDataTexture(params, shapeSdfUrl);
|
|
5461
5694
|
extraBg = root.createBindGroup(svgSdfLayout, { sdfSource: sdfTex.texture.texture });
|
|
5462
|
-
evalSdf =
|
|
5695
|
+
evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
|
|
5463
5696
|
"use gpu";
|
|
5464
5697
|
const prm = simLayout.$.params;
|
|
5465
5698
|
const sizeM1 = __tsover_sub(SVG_SDF_SIZE, 1);
|
|
5466
|
-
const tx =
|
|
5467
|
-
const ty =
|
|
5468
|
-
const d2 =
|
|
5469
|
-
const exX =
|
|
5470
|
-
const exY =
|
|
5471
|
-
return extrudeSdf(__tsover_add(d2,
|
|
5699
|
+
const tx = clamp(i32(__tsover_mul(__tsover_add(p3.x, .5), SVG_SDF_SIZE)), 0, sizeM1);
|
|
5700
|
+
const ty = clamp(i32(__tsover_mul(__tsover_sub(.5, p3.y), SVG_SDF_SIZE)), 0, sizeM1);
|
|
5701
|
+
const d2 = textureLoad(svgSdfLayout.$.sdfSource, vec2u(u32(tx), u32(ty)), 0).x;
|
|
5702
|
+
const exX = max(__tsover_sub(abs(p3.x), .5), 0);
|
|
5703
|
+
const exY = max(__tsover_sub(abs(p3.y), .5), 0);
|
|
5704
|
+
return extrudeSdf(__tsover_add(d2, sqrt(__tsover_add(__tsover_mul(exX, exX), __tsover_mul(exY, exY)))), __tsover_sub(abs(p3.z), prm.halfDepth));
|
|
5472
5705
|
}), {
|
|
5473
5706
|
v: 1,
|
|
5474
5707
|
name: void 0,
|
|
@@ -5764,8 +5997,8 @@ const componentDefinition = {
|
|
|
5764
5997
|
externals: () => ({
|
|
5765
5998
|
simLayout,
|
|
5766
5999
|
SVG_SDF_SIZE,
|
|
5767
|
-
std,
|
|
5768
|
-
d,
|
|
6000
|
+
std: std_exports,
|
|
6001
|
+
d: data_exports,
|
|
5769
6002
|
svgSdfLayout,
|
|
5770
6003
|
extrudeSdf
|
|
5771
6004
|
})
|
|
@@ -5783,7 +6016,7 @@ const componentDefinition = {
|
|
|
5783
6016
|
});
|
|
5784
6017
|
const baked = setup3d.sdfFn;
|
|
5785
6018
|
const layout3d = setup3d.layout;
|
|
5786
|
-
evalSdf =
|
|
6019
|
+
evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
|
|
5787
6020
|
"use gpu";
|
|
5788
6021
|
return baked(rotateVec3(p3, layout3d.$.params.rot));
|
|
5789
6022
|
}), {
|
|
@@ -5829,11 +6062,11 @@ const componentDefinition = {
|
|
|
5829
6062
|
}) && $.f)({}));
|
|
5830
6063
|
} else {
|
|
5831
6064
|
const sdf2d = buildAnalyticSdfFn(shapeType);
|
|
5832
|
-
evalSdf =
|
|
6065
|
+
evalSdf = src_default.fn([vec3f], f32)(/* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((p3) => {
|
|
5833
6066
|
"use gpu";
|
|
5834
6067
|
const prm = simLayout.$.params;
|
|
5835
|
-
const d2 = sdf2d(
|
|
5836
|
-
return extrudeSdf(d2, __tsover_sub(
|
|
6068
|
+
const d2 = sdf2d(vec2f(__tsover_add(p3.x, .5), __tsover_sub(.5, p3.y)), prm.saRadius, prm.saSides, prm.saRounding, prm.saInnerRatio, prm.saRotation, prm.saHeight, prm.saOffset, prm.saAperture).x;
|
|
6069
|
+
return extrudeSdf(d2, __tsover_sub(abs(p3.z), prm.halfDepth));
|
|
5837
6070
|
}), {
|
|
5838
6071
|
v: 1,
|
|
5839
6072
|
name: void 0,
|
|
@@ -5979,10 +6212,10 @@ const componentDefinition = {
|
|
|
5979
6212
|
},
|
|
5980
6213
|
externals: () => ({
|
|
5981
6214
|
simLayout,
|
|
5982
|
-
d,
|
|
6215
|
+
d: data_exports,
|
|
5983
6216
|
sdf2d,
|
|
5984
6217
|
extrudeSdf,
|
|
5985
|
-
std
|
|
6218
|
+
std: std_exports
|
|
5986
6219
|
})
|
|
5987
6220
|
}) && $.f)({}));
|
|
5988
6221
|
}
|
|
@@ -6036,29 +6269,6 @@ const componentDefinition = {
|
|
|
6036
6269
|
}) && $.f)({}), { size: [DCELLS] }).with(simBg);
|
|
6037
6270
|
const density = mk1(particleDensityKernel);
|
|
6038
6271
|
const update = mk1(updateKernel);
|
|
6039
|
-
const clearAccum = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
|
|
6040
|
-
"use gpu";
|
|
6041
|
-
particleClearAccumKernel(x, y);
|
|
6042
|
-
}), {
|
|
6043
|
-
v: 1,
|
|
6044
|
-
name: void 0,
|
|
6045
|
-
ast: {
|
|
6046
|
-
"params": [{
|
|
6047
|
-
"type": "i",
|
|
6048
|
-
"name": "x"
|
|
6049
|
-
}, {
|
|
6050
|
-
"type": "i",
|
|
6051
|
-
"name": "y"
|
|
6052
|
-
}],
|
|
6053
|
-
"body": [0, [[
|
|
6054
|
-
6,
|
|
6055
|
-
"particleClearAccumKernel",
|
|
6056
|
-
["x", "y"]
|
|
6057
|
-
]]],
|
|
6058
|
-
"externalNames": ["particleClearAccumKernel"]
|
|
6059
|
-
},
|
|
6060
|
-
externals: () => ({ particleClearAccumKernel })
|
|
6061
|
-
}) && $.f)({}), { size: [OUT_RES, OUT_RES] }).with(simBg);
|
|
6062
6272
|
const splat = mk1(splatKernel);
|
|
6063
6273
|
const resolve = createGuardedCompute(root, /* @__PURE__ */ (($) => (globalThis.__TYPEGPU_META__ ??= /* @__PURE__ */ new WeakMap()).set($.f = ((x, y) => {
|
|
6064
6274
|
"use gpu";
|
|
@@ -6183,8 +6393,8 @@ const componentDefinition = {
|
|
|
6183
6393
|
const colA = getCpuValue("colorA");
|
|
6184
6394
|
const colB = getCpuValue("colorB");
|
|
6185
6395
|
paramsU.write({
|
|
6186
|
-
colA:
|
|
6187
|
-
colB:
|
|
6396
|
+
colA: vec4f(colA?.x ?? 1, colA?.y ?? 1, colA?.z ?? 1, colA?.w ?? 1),
|
|
6397
|
+
colB: vec4f(colB?.x ?? 1, colB?.y ?? 1, colB?.z ?? 1, colB?.w ?? 1),
|
|
6188
6398
|
dt,
|
|
6189
6399
|
time,
|
|
6190
6400
|
spread: g("spread", 1),
|
|
@@ -6211,7 +6421,7 @@ const componentDefinition = {
|
|
|
6211
6421
|
rotC,
|
|
6212
6422
|
rotS,
|
|
6213
6423
|
aspect,
|
|
6214
|
-
size: g("size", 2.2),
|
|
6424
|
+
size: g("size", 2.2) * SIZE_SCALE,
|
|
6215
6425
|
exposure: g("exposure", 1),
|
|
6216
6426
|
softness: Math.min(Math.max(g("softness", .5), 0), 1),
|
|
6217
6427
|
speedColorK: 2 / MAX_SPEED,
|
|
@@ -6228,13 +6438,13 @@ const componentDefinition = {
|
|
|
6228
6438
|
deltaTime: dt,
|
|
6229
6439
|
pointer: fp.pointer
|
|
6230
6440
|
});
|
|
6231
|
-
const count = Math.min(Math.max(Math.round(g("count", 4e3)), 16),
|
|
6441
|
+
const count = Math.min(Math.max(Math.round(g("count", 4e3)), 16), COUNT_CAP);
|
|
6232
6442
|
const nodes = [];
|
|
6233
6443
|
if (!initialized) {
|
|
6234
6444
|
initialized = true;
|
|
6235
6445
|
nodes.push(() => init.dispatchThreads(MAX_PARTICLES));
|
|
6236
6446
|
}
|
|
6237
|
-
nodes.push(clearDensity, () => density.dispatchThreads(count), () => update.dispatchThreads(count),
|
|
6447
|
+
nodes.push(clearDensity, () => density.dispatchThreads(count), () => update.dispatchThreads(count), () => splat.dispatchThreads(count), resolve);
|
|
6238
6448
|
return nodes;
|
|
6239
6449
|
}
|
|
6240
6450
|
};
|
|
@@ -6246,4 +6456,4 @@ const componentDefinition = {
|
|
|
6246
6456
|
}
|
|
6247
6457
|
};
|
|
6248
6458
|
var Particles_default = componentDefinition;
|
|
6249
|
-
export { makeParticleUpdateKernel as a,
|
|
6459
|
+
export { makeParticleUpdateKernel as a, particleInitKernel as c, makeParticleSplatKernel as i, particleSplatKernel as l, componentDefinition as n, particleClearDensityKernel as o, makeParticleResolveKernel as r, particleDensityKernel as s, Particles_default as t };
|