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

57 lines (56 loc) 2.51 kB
/// <reference types="dist" /> import { IShaderResource } from "./IShaderResource"; export type TextureSamplerDescriptor = { minFilter?: "nearest" | "linear"; magFilter?: "nearest" | "linear"; addressModeU?: "clamp-to-edge" | "repeat" | "mirror-repeat"; addressModeV?: "clamp-to-edge" | "repeat" | "mirror-repeat"; addressModeW?: "clamp-to-edge" | "repeat" | "mirror-repeat"; mipmapFilter?: "nearest" | "linear"; lodMinClamp?: number; lodMaxClamp?: number; maxAnisotropy?: number; compare?: "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"; }; export declare class TextureSampler implements IShaderResource { mustBeTransfered: boolean; gpuResource: GPUSampler; descriptor: TextureSamplerDescriptor; constructor(descriptor?: { minFilter?: "nearest" | "linear"; magFilter?: "nearest" | "linear"; addressModeU?: "clamp-to-edge" | "repeat" | "mirror-repeat"; addressModeV?: "clamp-to-edge" | "repeat" | "mirror-repeat"; addressModeW?: "clamp-to-edge" | "repeat" | "mirror-repeat"; mipmapFilter?: "nearest" | "linear"; lodMinClamp?: number; lodMaxClamp?: number; maxAnisotropy?: number; compare?: "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"; }); clone(): TextureSampler; get isComparison(): boolean; get isFiltering(): boolean; setAddressModes(u?: GPUAddressMode, v?: GPUAddressMode, w?: GPUAddressMode): void; setFilterModes(min?: GPUFilterMode, mag?: GPUFilterMode, mipmap?: GPUMipmapFilterMode): void; setClamp(min?: number, max?: number): void; setCompareFunction(compareType?: "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"): void; setMaxAnisotropy(n: number): void; protected deviceId: number; createGpuResource(): void; destroyGpuResource(): void; update(): void; createDeclaration(varName: string, bindingId: number, groupId?: number): string; createBindGroupLayoutEntry(bindingId: number): { binding: number; visibility: number; sampler: { type: string; }; }; createBindGroupEntry(bindingId: number): { binding: number; resource: GPUSampler; }; setPipelineType(pipelineType: "compute" | "render" | "compute_mixed"): void; }