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
44 lines (43 loc) • 2.27 kB
TypeScript
/// <reference types="dist" />
import { ImageTextureArray } from "./ImageTextureArray";
import { IShaderResource } from "./IShaderResource";
export type CubeMapTextureDescriptor = {
source?: (ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas)[];
size: GPUExtent3D;
usage?: GPUTextureUsageFlags;
dimension: string;
defaultViewDescriptor?: GPUTextureViewDescriptor;
sampledType?: "f32" | "i32" | "u32";
};
export declare class CubeMapTexture extends ImageTextureArray implements IShaderResource {
descriptor: any;
constructor(descriptor: {
source?: (ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture)[];
size: GPUExtent3D;
usage?: GPUTextureUsageFlags;
defaultViewDescriptor?: GPUTextureViewDescriptor;
dimension?: string;
sampledType?: "f32" | "i32" | "u32";
});
clone(): CubeMapTexture;
set right(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set left(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set bottom(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set top(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set back(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set front(bmp: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture);
set sides(images: (ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture)[]);
get sides(): (ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | GPUTexture)[];
createGpuResource(): void;
createDeclaration(varName: string, bindingId: number, groupId?: number): string;
createBindGroupLayoutEntry(bindingId: number): {
binding: number;
visibility: number;
texture: GPUTextureBindingLayout;
};
createBindGroupEntry(bindingId: number): {
binding: number;
resource: GPUTextureView;
};
setPipelineType(pipelineType: "compute" | "render" | "compute_mixed"): void;
}