UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

54 lines 2.27 kB
import { TgdMat2, TgdMat3, TgdMat4, TgdVec2, TgdVec3, TgdVec4 } from "../math"; import { TgdProgramOptions } from "../types"; /** * This class helps to manage a WebGLProgram. * It will report meaninfull errors and help you with * the uniforms. */ export declare class TgdProgram { readonly gl: WebGL2RenderingContext; private readonly options; private static id; /** Access to the real WebGLProgram object. */ readonly program: WebGLProgram; readonly name: string; readonly vert: string; readonly frag: string; private readonly shaders; private readonly uniformsLocations; constructor(gl: WebGL2RenderingContext, options: TgdProgramOptions); toCode({ indent }?: Partial<{ indent: string; }>): string; hasAttribute(name: string): boolean; getAttribLocation(name: string): number; getUniformLocation(name: string): WebGLUniformLocation; uniform1f(name: string, value: number): void; uniform2f(name: string, x: number, y: number): void; uniform2fv(name: string, vec2: TgdVec2): void; uniform3f(name: string, x: number, y: number, z: number): void; uniform3fv(name: string, vec3: TgdVec3): void; uniform4f(name: string, x: number, y: number, z: number, w: number): void; uniform4fv(name: string, vec4: TgdVec4): void; uniform1i(name: string, value: number): void; uniform2i(name: string, x: number, y: number): void; uniform3i(name: string, x: number, y: number, z: number): void; uniform4i(name: string, x: number, y: number, z: number, w: number): void; uniform1ui(name: string, value: number): void; uniform2ui(name: string, x: number, y: number): void; uniform3ui(name: string, x: number, y: number, z: number): void; uniform4ui(name: string, x: number, y: number, z: number, w: number): void; uniformMatrix2fv(name: string, mat2: TgdMat2): void; uniformMatrix3fv(name: string, mat3: TgdMat3): void; uniformMatrix4fv(name: string, mat4: TgdMat4): void; /** * Use the current program. * This is equivalent to `gl.useProgram(program)`. */ use(): void; delete(): void; debug(caption?: string): void; private createShader; private getUniformsLocations; } //# sourceMappingURL=program.d.ts.map