GPUComputationRenderer.d.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {
  2. WebGLRenderer,
  3. RenderTarget,
  4. Texture,
  5. DataTexture,
  6. Material,
  7. ShaderMaterial,
  8. Wrapping,
  9. TextureFilter,
  10. TextureDataType
  11. } from '../../../src/Three';
  12. export interface Variable {
  13. name: string;
  14. initialValueTexture: Texture;
  15. material: ShaderMaterial;
  16. dependencies: Variable[];
  17. renderTargets: RenderTarget[];
  18. wrapS: number;
  19. wrapT: number;
  20. minFilter: number;
  21. magFilter: number;
  22. }
  23. export class GPUComputationRenderer {
  24. constructor( sizeX: number, sizeY: number, renderer: WebGLRenderer );
  25. setDataType ( type: TextureDataType ): void;
  26. addVariable( variableName: string, computeFragmentShader: string, initialValueTexture: Texture ): Variable;
  27. setVariableDependencies( variable: Variable, dependencies: Variable[] | null ): void;
  28. init(): string | null;
  29. compute(): void;
  30. getCurrentRenderTarget( variable: Variable ): RenderTarget;
  31. getAlternateRenderTarget( variable: Variable ): RenderTarget;
  32. addResolutionDefine( materialShader: ShaderMaterial ): void;
  33. createRenderTarget( sizeXTexture: number, sizeYTexture: number, wrapS: Wrapping, wrapT: number, minFilter: TextureFilter, magFilter: TextureFilter ): RenderTarget;
  34. createTexture(): DataTexture;
  35. renderTexture( input: Texture, output: Texture ): void;
  36. doRenderTarget( material: Material, output: RenderTarget ): void;
  37. }