UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

48 lines 2.04 kB
import { TgdMat3, TgdMat4, 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 code; /** Access to the real WebGLProgram object. */ readonly program: WebGLProgram; private readonly shaders; private readonly uniformsLocations; constructor(gl: WebGL2RenderingContext, code: 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; 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; 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