webgpuDrawContext.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930
  1. import type { WebGPUDataBuffer } from "../../Meshes/WebGPU/webgpuDataBuffer";
  2. import type { Nullable } from "../../types";
  3. import type { IDrawContext } from "../IDrawContext";
  4. import type { WebGPUBufferManager } from "./webgpuBufferManager";
  5. /** @internal */
  6. export declare class WebGPUDrawContext implements IDrawContext {
  7. private static _Counter;
  8. fastBundle?: GPURenderBundle;
  9. bindGroups?: GPUBindGroup[];
  10. uniqueId: number;
  11. buffers: {
  12. [name: string]: Nullable<WebGPUDataBuffer>;
  13. };
  14. indirectDrawBuffer?: GPUBuffer;
  15. private _materialContextUpdateId;
  16. private _bufferManager;
  17. private _useInstancing;
  18. private _indirectDrawData?;
  19. private _currentInstanceCount;
  20. private _isDirty;
  21. isDirty(materialContextUpdateId: number): boolean;
  22. resetIsDirty(materialContextUpdateId: number): void;
  23. get useInstancing(): boolean;
  24. set useInstancing(use: boolean);
  25. constructor(bufferManager: WebGPUBufferManager);
  26. reset(): void;
  27. setBuffer(name: string, buffer: Nullable<WebGPUDataBuffer>): void;
  28. setIndirectData(indexOrVertexCount: number, instanceCount: number, firstIndexOrVertex: number): void;
  29. dispose(): void;
  30. }