/** * Provides the input as-is. * * This method exists only to make use of the template string tag in code, * which allows us to use in-IDE support for GLSL, even if there is no build * process to interpret the tag. * @param input - Should only be the source of a fragment shader. * @returns The fragment shader as-is. */ export declare const frag: (input: TemplateStringsArray) => string; /** * Provides the input as-is. * * This method exists only to make use of the template string tag in code, * which allows us to use in-IDE support for GLSL, even if there is no build * process to interpret the tag. * @param input - Should only be the source of a vertex shader. * @returns The vertex shader as-is. */ export declare const vert: (input: TemplateStringsArray) => string; /** * Construction options for a {@linkcode !WebGLShader}. */ export interface ShaderOptions { /** * The GLSL source code of the shader. */ source: string; /** * The type of the shader. */ type: WebGL2RenderingContext["FRAGMENT_SHADER"] | WebGL2RenderingContext["VERTEX_SHADER"]; } /** * Constructs a new shader. * @param gl - The rendering context in which to create the shader. * @param options - The construction options for the shader. * @returns The shader. */ export declare const createShader: (gl: WebGL2RenderingContext, options: ShaderOptions) => WebGLShader; /** * Creates a new WebGL program. * @param gl - The rendering context in which to create the program. * @param shaders - The shaders we want to create. * @param transformFeedbackVaryings - Which values to record in transform * feedback buffer? See {@linkcode !WebGLTransformFeedback}. * @returns The program. */ export declare const createGLProgram: (gl: WebGL2RenderingContext, shaders: Array, transformFeedbackVaryings: Array | null) => WebGLProgram; /** * Create a buffer with random data in 2 channels (red/green). * @param width - Width of the buffer. * @param height - Height of the buffer. * @returns The buffer. */ export declare const randomRGData: (width: number, height: number) => Uint8Array;