UNPKG

webgl-dsl

Version:

Thin functional WebGL wrapper with strong typed GLSL DSL

40 lines (39 loc) 912 B
import { PixelFormat, TextureFilter, TextureFormat } from './enums'; import { Gl } from './gl'; export type TextureConfig = { /** * @default TextureFormat.RGBA */ format?: TextureFormat; /** * @default TextureFilter.NEAREST */ filter?: TextureFilter; } & ({ image: TexImageSource; } | { data: ArrayBufferView; width: number; height: number; } | { width: number; height: number; }); /** * 2D texture */ export declare class Texture { readonly gl: Gl; readonly handle: WebGLTexture; readonly width: number; readonly height: number; readonly format: TextureFormat; readonly filter: TextureFilter; constructor(gl: Gl, config: TextureConfig); /** * Read pixels from the texture into an array buffer */ read(format?: PixelFormat): Uint8Array; setFilter(filter: TextureFilter): void; dispose(): void; }