import { ShaderProgram } from './shaderProgram.js'; import { VertexArray, VertexBuffer } from './resources.js'; export declare const SPRITE_VERTEX_SHADER = "#version 300 es\nprecision highp float;\n\nlayout(location = 0) in vec2 a_position;\nlayout(location = 1) in vec2 a_texCoord;\n\nuniform mat4 u_projection;\n\nout vec2 v_texCoord;\n\nvoid main() {\n v_texCoord = a_texCoord;\n gl_Position = u_projection * vec4(a_position, 0.0, 1.0);\n}"; export declare const SPRITE_FRAGMENT_SHADER = "#version 300 es\nprecision highp float;\n\nin vec2 v_texCoord;\n\nuniform sampler2D u_diffuseMap;\nuniform vec4 u_tint;\n\nout vec4 o_color;\n\nvoid main() {\n o_color = texture(u_diffuseMap, v_texCoord) * u_tint;\n}"; import { Texture2D } from './resources.js'; export declare class SpriteRenderer { readonly gl: WebGL2RenderingContext; readonly program: ShaderProgram; readonly vao: VertexArray; readonly vbo: VertexBuffer; readonly whiteTexture: Texture2D; private readonly uniformProjection; private readonly uniformDiffuse; private readonly uniformTint; constructor(gl: WebGL2RenderingContext); get shaderSize(): number; begin(projection: Float32List): void; draw(x: number, y: number, width: number, height: number, u1?: number, v1?: number, u2?: number, v2?: number, tint?: readonly [number, number, number, number]): void; drawRect(x: number, y: number, width: number, height: number, color: readonly [number, number, number, number]): void; } //# sourceMappingURL=sprite.d.ts.map