GPUComputationRenderer.d.ts 1.2 KB

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