webglimpse
Version:
Webglimpse is a data visualization library for the web.
55 lines (54 loc) • 1.78 kB
TypeScript
import { BoundsUnmodifiable } from './bounds';
export interface TextureHelper {
target(gl: WebGLRenderingContext): number;
init(gl: WebGLRenderingContext, target: number): void;
}
export declare class Texture {
private helper;
private textures;
constructor(helper: TextureHelper);
bind(gl: WebGLRenderingContext, textureUnit: number): void;
unbind(gl: WebGLRenderingContext): void;
dispose(): void;
}
export declare type ImageDrawer = (context: CanvasRenderingContext2D) => void;
export declare class FloatDataTexture2D extends Texture {
private _w;
private _h;
get w(): number;
get h(): number;
constructor(w: number, h: number, array: Float32Array);
}
export declare class Texture2D extends Texture {
private _w;
private _h;
get w(): number;
get h(): number;
constructor(w: number, h: number, minFilter: number, magFilter: number, draw: ImageDrawer);
}
export interface TextureDrawOptions {
xAnchor?: number;
yAnchor?: number;
rotation_CCWRAD?: number;
width?: number;
height?: number;
}
export declare class TextureRenderer {
private textureRenderer_VERTSHADER;
private textureRenderer_FRAGSHADER;
private program;
private u_XyFrac;
private u_Anchor;
private u_Rotation_CCWRAD;
private u_ImageSize;
private u_ViewportSize;
private u_Sampler;
private a_ImageFrac;
private imageFracData;
private wViewport;
private hViewport;
constructor();
begin(gl: WebGLRenderingContext, viewport: BoundsUnmodifiable): void;
draw(gl: WebGLRenderingContext, texture: Texture2D, xFrac: number, yFrac: number, options?: TextureDrawOptions): void;
end(gl: WebGLRenderingContext): void;
}