declare type Render2dImagesFn = (images: Array, canvas: HTMLCanvasElement) => void; export declare const render2dImages: Render2dImagesFn; declare type RenderWebGLImageFn = (image: TexImageSource, canvas: HTMLCanvasElement) => void; export declare const renderWebGLImage: RenderWebGLImageFn; /** * Creates and compiles a shader. * * @param {!WebGLRenderingContext} gl The WebGL Context. * @param {string} shaderSource The GLSL source code for the shader. * @param {number} shaderType The type of shader, VERTEX_SHADER or * FRAGMENT_SHADER. * @return {!WebGLShader} The shader. */ export declare function compileShader(gl: WebGLRenderingContext, shaderType: number, shaderSource: string): WebGLShader; /** * Creates a program from shaders. * * @param {!WebGLRenderingContext) gl The WebGL context. * @param {!WebGLShader} shaders A list of vertex shaders. * @param {string[]} [opt_attribs] An array of attribs names. * @param {number[]} [opt_locations] The locations for the. A parallel array to opt_attribs letting you assign locations. * @return {!WebGLProgram} A program. */ export declare function createProgram(gl: WebGLRenderingContext, shaders: WebGLShader[], opt_attribs?: string[], opt_locations?: number[]): WebGLProgram; /** * Resize a canvas to match the size its displayed. * @param {HTMLCanvasElement} canvas The canvas to resize. * @param {number} [multiplier] amount to multiply by. * Pass in window.devicePixelRatio for native pixels. * @return {boolean} true if the canvas was resized. * @memberOf module:webgl-utils */ export declare function resizeCanvasToDisplaySize(canvas: HTMLCanvasElement, multiplier?: number): boolean; export declare function setRectangle(gl: { bufferData: (arg0: any, arg1: Float32Array, arg2: any) => void; ARRAY_BUFFER: any; STATIC_DRAW: any; }, x: number, y: number, width: any, height: any): void; export declare function setUniforms(gl: { useProgram: (arg0: any) => void; getUniformLocation: (arg0: any, arg1: string) => any; uniform1fv: (arg0: any, arg1: Float32Array) => void; uniform1i: (arg0: any, arg1: any) => void; uniform2fv: (arg0: any, arg1: Float32Array) => void; uniform3fv: (arg0: any, arg1: Float32Array) => void; uniform4fv: (arg0: any, arg1: Float32Array) => void; uniformMatrix3fv: (arg0: any, arg1: boolean, arg2: Float32Array) => void; uniformMatrix4fv: (arg0: any, arg1: boolean, arg2: Float32Array) => void; uniform1f: (arg0: any, arg1: any) => void; }, program: WebGLProgram, uniforms: { [x: string]: any; hasOwnProperty: (arg0: string) => any; }): void; export declare function clamp(lo: number, value: number, hi: number): number; export declare const randomShaderFunc = "\n float random(vec3 scale, float seed) {\n /* use the fragment position for a different seed per-pixel */\n return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);\n }\n"; export declare function runFragmentShader(image: { width: any; height: any; }, canvas: { getContext: (arg0: string) => any; }, fragmentShaderString: string, uniforms: any, _gl?: WebGLRenderingContext | undefined): void; export declare class SplineInterpolator { xa: any[]; ya: any[]; u: any[]; y2: any[]; constructor(points: any[]); interpolate(x: number): number; } export declare function splineInterpolate(points: any): any; export {};