| 816 | |
| 817 | class Poisson extends ShaderPass { |
| 818 | constructor(simProps: any) { |
| 819 | super({ |
| 820 | material: { |
| 821 | vertexShader: face_vert, |
| 822 | fragmentShader: poisson_frag, |
| 823 | uniforms: { |
| 824 | boundarySpace: { value: simProps.boundarySpace }, |
| 825 | pressure: { value: simProps.dst_.texture }, |
| 826 | divergence: { value: simProps.src.texture }, |
| 827 | px: { value: simProps.cellScale }, |
| 828 | }, |
| 829 | }, |
| 830 | output: simProps.dst, |
| 831 | output0: simProps.dst_, |
| 832 | output1: simProps.dst, |
| 833 | }); |
| 834 | this.init(); |
| 835 | } |
| 836 | update(...args: any[]) { |
| 837 | const { iterations } = (args[0] || {}) as { iterations?: number }; |
| 838 | let p_in: any, p_out: any; |