modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
23 lines (22 loc) • 897 B
TypeScript
import type { ShaderLike } from '../../shared';
import type { GlRenderer } from '../GlRenderer';
import type { GlProgram } from './GlProgram';
import { GlSystem } from '../system';
import { GlProgramData } from './GlProgramData';
export declare class GlShaderSystem extends GlSystem {
install(renderer: GlRenderer): void;
readonly glProgramDatas: Map<number, GlProgramData>;
currentProgram: GlProgram | null;
uniforms: {
projectionMatrix: number[];
viewMatrix: number[];
};
bind(source: ShaderLike | null): void;
useProgram(glProgram: GlProgram | null): void;
getGlProgramData(source: GlProgram): GlProgramData;
protected _createGlProgramData(glProgram: GlProgram): GlProgramData;
protected _createGlShader(source: string, target: number): WebGLShader;
updateUniforms(source: ShaderLike): void;
reset(): void;
destroy(): void;
}