UNPKG

xgpu

Version:

XGPU is an extendable library for WebGPU that provides a higher-level, easy-to-use interface for building rendering engines or processing numeric data. It handles automatic data binding, buffer alignment, variable declarations in shaders, and more. XGPU i

39 lines (38 loc) 1.61 kB
/// <reference types="dist" /> import { EventDispatcher } from "./EventDispatcher"; import { IRenderer } from "./IRenderer"; import { RenderPipeline } from "./pipelines/RenderPipeline"; export declare class GPURenderer extends EventDispatcher implements IRenderer { static ON_DRAW_END: string; protected domElement: HTMLCanvasElement; protected canvasView: GPUTextureView; protected ctx: GPUCanvasContext; protected currentWidth: number; protected currentHeight: number; protected dimensionChanged: boolean; protected deviceId: number; frameId: number; protected nbColorAttachment: number; renderPipelines: RenderPipeline[]; private static texturedQuadPipeline; protected texturedQuadPipeline: any; constructor(); resize(w: number, h: number): void; destroy(): void; protected gpuCtxConfiguration: any; initCanvas(canvas: HTMLCanvasElement, alphaMode?: "opaque" | "premultiplied"): Promise<HTMLCanvasElement>; get resized(): boolean; get firstPipeline(): RenderPipeline; get texture(): GPUTexture; get view(): GPUTextureView; get width(): number; get height(): number; get canvas(): HTMLCanvasElement; addPipeline(pipeline: RenderPipeline, offset?: number): RenderPipeline; removePipeline(pipeline: RenderPipeline): RenderPipeline; get nbPipeline(): number; get useSinglePipeline(): boolean; configure(textureUsage?: GPUTextureUsageFlags, alphaMode?: "opaque" | "premultiplied"): void; commandEncoder: GPUCommandEncoder; update(): Promise<void>; }