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

260 lines (259 loc) 9.27 kB
import { GPUType } from "./GPUType"; import { UniformBuffer } from "./shader/resources/UniformBuffer"; export type PrimitiveType = PrimitiveFloatUniform | PrimitiveIntUniform | PrimitiveUintUniform; export declare class PrimitiveFloatUniform extends Float32Array { static ON_CHANGE: string; static ON_CHANGED: string; name: string; type: GPUType; startId: number; globalStartId: number; onChange: () => void; protected _mustBeTransfered: boolean; get mustBeTransfered(): boolean; set mustBeTransfered(b: boolean); uniformBuffer: UniformBuffer; propertyNames: string[]; createVariableInsideMain: boolean; className: string; constructor(type: string, val: number[] | Float32Array, createLocalVariable?: boolean); clone(): PrimitiveFloatUniform; initStruct(propertyNames: string[], createVariableInsideMain?: boolean): void; createStruct(): string; set(m: Float32Array, offset?: number): void; createVariable(uniformBufferName: string, name?: string): string; update(): void; updateStartIdFromParentToChildren(): void; protected eventListeners: any; addEventListener(eventName: string, callback: (dispatcher: PrimitiveFloatUniform, data?: any) => void): void; removeEventListener(eventName: string, callback: (dispatcher: PrimitiveFloatUniform, data?: any) => void): void; dispatchEvent(eventName: string, eventData?: any): void; get definition(): { type: string; values: Float32Array; name?: string; }; } export declare class PrimitiveIntUniform extends Int32Array { static ON_CHANGE: string; static ON_CHANGED: string; name: string; type: GPUType; startId: number; globalStartId: number; onChange: () => void; protected _mustBeTransfered: boolean; get mustBeTransfered(): boolean; set mustBeTransfered(b: boolean); uniformBuffer: UniformBuffer; propertyNames: string[]; createVariableInsideMain: boolean; className: string; constructor(type: string, val: number[] | Int32Array, createLocalVariable?: boolean); clone(): PrimitiveIntUniform; initStruct(propertyNames: string[], createVariableInsideMain?: boolean): void; createStruct(): string; updateStartIdFromParentToChildren(): void; createVariable(uniformBufferName: string): string; update(): void; protected eventListeners: any; addEventListener(eventName: string, callback: (dispatcher: PrimitiveIntUniform, data?: any) => void): void; removeEventListener(eventName: string, callback: (dispatcher: PrimitiveIntUniform, data?: any) => void): void; dispatchEvent(eventName: string, eventData?: any): void; get definition(): { type: string; values: Int32Array; name?: string; }; } export declare class PrimitiveUintUniform extends Uint32Array { static ON_CHANGE: string; static ON_CHANGED: string; name: string; type: GPUType; startId: number; globalStartId: number; uniformBuffer: UniformBuffer; onChange: () => void; protected _mustBeTransfered: boolean; get mustBeTransfered(): boolean; set mustBeTransfered(b: boolean); propertyNames: string[]; createVariableInsideMain: boolean; className: string; constructor(type: string, val: number[] | Uint32Array, createLocalVariable?: boolean); clone(): PrimitiveUintUniform; initStruct(propertyNames: string[], createVariableInsideMain?: boolean): void; createStruct(): string; updateStartIdFromParentToChildren(): void; createVariable(uniformBufferName: string): string; update(): void; protected eventListeners: any; addEventListener(eventName: string, callback: (dispatcher: PrimitiveUintUniform, data?: any) => void): void; removeEventListener(eventName: string, callback: (dispatcher: PrimitiveUintUniform, data?: any) => void): void; dispatchEvent(eventName: string, eventData?: any): void; get definition(): { type: string; values: Uint32Array; name?: string; }; } export declare class Float extends PrimitiveFloatUniform { constructor(x?: number, createLocalVariable?: boolean); set x(n: number); get x(): number; } export declare class Vec2 extends PrimitiveFloatUniform { constructor(x?: number, y?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); get x(): number; get y(): number; } export declare class Vec3 extends PrimitiveFloatUniform { constructor(x?: number, y?: number, z?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); get x(): number; get y(): number; get z(): number; } export declare class Vec4 extends PrimitiveFloatUniform { constructor(x?: number, y?: number, z?: number, w?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); set w(n: number); get x(): number; get y(): number; get z(): number; get w(): number; } export declare class Int extends PrimitiveIntUniform { constructor(x?: number, createLocalVariable?: boolean); set x(n: number); get x(): number; } export declare class IVec2 extends PrimitiveIntUniform { constructor(x?: number, y?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); get x(): number; get y(): number; } export declare class IVec3 extends PrimitiveIntUniform { constructor(x?: number, y?: number, z?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); get x(): number; get y(): number; get z(): number; } export declare class IVec4 extends PrimitiveIntUniform { constructor(x?: number, y?: number, z?: number, w?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); set w(n: number); get x(): number; get y(): number; get z(): number; get w(): number; } export declare class Uint extends PrimitiveUintUniform { constructor(x?: number, createLocalVariable?: boolean); set x(n: number); get x(): number; } export declare class UVec2 extends PrimitiveUintUniform { constructor(x?: number, y?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); get x(): number; get y(): number; } export declare class UVec3 extends PrimitiveUintUniform { constructor(x?: number, y?: number, z?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); get x(): number; get y(): number; get z(): number; } export declare class UVec4 extends PrimitiveUintUniform { constructor(x?: number, y?: number, z?: number, w?: number, createLocalVariable?: boolean); set x(n: number); set y(n: number); set z(n: number); set w(n: number); get x(): number; get y(): number; get z(): number; get w(): number; } export declare class Vec4Array extends PrimitiveFloatUniform { vec4Array: Vec4[]; constructor(vec4Array_or_arrayLength: Vec4[] | number); updateStartIdFromParentToChildren(): void; update(): void; } export declare class IVec4Array extends PrimitiveIntUniform { ivec4Array: IVec4[]; constructor(vec4Array_or_arrayLength: IVec4[] | number); updateStartIdFromParentToChildren(): void; update(): void; } export declare class UVec4Array extends PrimitiveUintUniform { uvec4Array: UVec4[]; constructor(vec4Array_or_arrayLength: UVec4[] | number); updateStartIdFromParentToChildren(): void; update(): void; } export declare class Matrix3x3 extends PrimitiveFloatUniform { protected disableUpdate: boolean; constructor(floatArray?: Float32Array); } export declare class Matrix4x4 extends PrimitiveFloatUniform { protected _x: number; protected _y: number; protected _z: number; protected _sx: number; protected _sy: number; protected _sz: number; protected _rx: number; protected _ry: number; protected _rz: number; protected disableUpdate: boolean; constructor(floatArray?: Float32Array); clone(): PrimitiveFloatUniform; get x(): number; get y(): number; get z(): number; get rotationX(): number; get rotationY(): number; get rotationZ(): number; get scaleX(): number; get scaleY(): number; get scaleZ(): number; set x(n: number); set y(n: number); set z(n: number); set rotationX(n: number); set rotationY(n: number); set rotationZ(n: number); set scaleX(n: number); set scaleY(n: number); set scaleZ(n: number); set scaleXYZ(n: number); setMatrix(mat: Float32Array): void; update(): void; } export declare class Matrix4x4Array extends PrimitiveFloatUniform { matrixs: Matrix4x4[]; constructor(mat4x4Array_or_arrayLength: Matrix4x4[] | number); updateStartIdFromParentToChildren(): void; update(): void; }