UNPKG

gl-plane

Version:

Draw a plane with texture

46 lines (45 loc) 1.41 kB
import { GLShader } from "gl-shader"; import { GLVAO } from "gl-vao"; import createBuffer from "gl-buffer"; import createTexture from "gl-texture2d"; declare type GLBuffer = ReturnType<typeof createBuffer>; declare type Mat4 = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]; declare type Position = [number, number, number]; export declare type DrawParam = { model?: Mat4; view?: Mat4; projection: Mat4; }; export declare type GLPlaneOption = { gl: WebGLRenderingContext; model?: Mat4; view?: Mat4; projection?: Mat4; opacity?: number; points: [Position, Position, Position, Position]; texture?: HTMLImageElement; }; export declare class GLPlane { bounds: number[][]; option: Required<Omit<GLPlaneOption, "texture">> & { texture?: HTMLImageElement; }; vao: GLVAO; vertextBuffer: GLBuffer; trangleShader: GLShader<{ model: Mat4; view: Mat4; projection: Mat4; }, "position">; texture: ReturnType<typeof createTexture>; constructor(opt: GLPlaneOption); private getVertexCoords; private updateBounds; pick(): null; isOpaque(): boolean; isTransparent(): boolean; update(opt: Partial<GLPlaneOption>): void; draw(param: DrawParam): void; drawTransparent(param: DrawParam): void; } export {};