| 790 | |
| 791 | class Divergence extends ShaderPass { |
| 792 | constructor(simProps: any) { |
| 793 | super({ |
| 794 | material: { |
| 795 | vertexShader: face_vert, |
| 796 | fragmentShader: divergence_frag, |
| 797 | uniforms: { |
| 798 | boundarySpace: { value: simProps.boundarySpace }, |
| 799 | velocity: { value: simProps.src.texture }, |
| 800 | px: { value: simProps.cellScale }, |
| 801 | dt: { value: simProps.dt }, |
| 802 | }, |
| 803 | }, |
| 804 | output: simProps.dst, |
| 805 | }); |
| 806 | this.init(); |
| 807 | } |
| 808 | update(...args: any[]) { |
| 809 | const { vel } = (args[0] || {}) as { vel?: any }; |
| 810 | if (this.uniforms && vel) { |