import { Size } from '../math/Size'; import View from '../View'; import Program from './Program'; import RenderState from './RenderState'; declare type ShaderArgs = { u_projection: WebGLUniformLocation; u_transform: WebGLUniformLocation; u_texture: WebGLUniformLocation; a_position: GLint; a_texCoord: GLint; }; declare class SceneShader { readonly gl: WebGLRenderingContext; readonly vertexBuffer: WebGLBuffer; readonly shaderArgs: ShaderArgs; readonly program: Program; private _sceneSize?; static create(gl: WebGLRenderingContext): SceneShader; private constructor(); use(): void; release(): void; updateSceneData(sceneSize: Size): void; updateViewData(view: View, renderState: RenderState): void; draw(): void; } export default SceneShader;