@motion-core/motion-gpu
Version:
Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.
39 lines • 1.43 kB
TypeScript
/// <reference types="@webgpu/types" />
import type { RenderPass, RenderPassContext, RenderPassFlags, RenderPassInputSlot, RenderPassOutputSlot } from '../core/types.js';
export interface FullscreenPassOptions extends RenderPassFlags {
enabled?: boolean;
needsSwap?: boolean;
input?: RenderPassInputSlot;
output?: RenderPassOutputSlot;
filter?: GPUFilterMode;
}
/**
* Shared base for fullscreen texture sampling passes.
*/
export declare abstract class FullscreenPass implements RenderPass {
enabled: boolean;
needsSwap: boolean;
input: RenderPassInputSlot;
output: RenderPassOutputSlot;
clear: boolean;
clearColor: [number, number, number, number];
preserve: boolean;
private readonly filter;
private device;
private sampler;
private bindGroupLayout;
private shaderModule;
private readonly pipelineByFormat;
private bindGroupByView;
protected constructor(options?: FullscreenPassOptions);
protected abstract getProgram(): string;
protected abstract getVertexEntryPoint(): string;
protected abstract getFragmentEntryPoint(): string;
protected invalidateFullscreenCache(): void;
private ensureResources;
setSize(width: number, height: number): void;
protected renderFullscreen(context: RenderPassContext): void;
render(context: RenderPassContext): void;
dispose(): void;
}
//# sourceMappingURL=FullscreenPass.d.ts.map