1 | import { GLSLContext, IComputeModel } from '@antv/g-webgpu-core';
|
2 | import regl from 'regl';
|
3 |
|
4 |
|
5 |
|
6 | export default class ReglComputeModel implements IComputeModel {
|
7 | private reGl;
|
8 | private context;
|
9 | private entity;
|
10 | private texFBO;
|
11 | private computeCommand;
|
12 | private textureCache;
|
13 | private outputTextureName;
|
14 | private swapOutputTextureName;
|
15 | private compiledPingpong;
|
16 | private dynamicPingpong;
|
17 | constructor(reGl: regl.Regl, context: GLSLContext);
|
18 | run(): void;
|
19 | readData(): Promise<any>;
|
20 | confirmInput(model: IComputeModel, inputName: string): void;
|
21 | updateUniform(): void;
|
22 | updateBuffer(bufferName: string, data: number[] | Float32Array | Uint8Array | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array, offset?: number): void;
|
23 | destroy(): void;
|
24 | private swap;
|
25 | private getOuputDataTexture;
|
26 | private createSwapOutputDataTexture;
|
27 | private cloneDataTexture;
|
28 | private calcDataTexture;
|
29 | }
|