| 834 | this.init(); |
| 835 | } |
| 836 | update(...args: any[]) { |
| 837 | const { iterations } = (args[0] || {}) as { iterations?: number }; |
| 838 | let p_in: any, p_out: any; |
| 839 | const iter = iterations ?? 0; |
| 840 | for (let i = 0; i < iter; i++) { |
| 841 | if (i % 2 === 0) { |
| 842 | p_in = this.props.output0; |
| 843 | p_out = this.props.output1; |
| 844 | } else { |
| 845 | p_in = this.props.output1; |
| 846 | p_out = this.props.output0; |
| 847 | } |
| 848 | if (this.uniforms) this.uniforms.pressure.value = p_in.texture; |
| 849 | this.props.output = p_out; |
| 850 | super.update(); |
| 851 | } |
| 852 | return p_out; |
| 853 | } |
| 854 | } |
| 855 | |
| 856 | class Pressure extends ShaderPass { |