import { VideoFrame } from '../../Private/AgoraMediaBase'; import { RendererContext } from '../../Types'; import { IRenderer } from '../IRenderer'; export type WebGLFallback = (renderer: WebGLRenderer, error: Error) => void; export declare class WebGLRenderer extends IRenderer { gl: WebGLRenderingContext | WebGL2RenderingContext | null; program: WebGLProgram | null; positionLocation?: number; texCoordLocation?: number; yTexture: WebGLTexture | null; uTexture: WebGLTexture | null; vTexture: WebGLTexture | null; aTexture: WebGLTexture | null; hasAlpha: WebGLUniformLocation | null; texCoordBuffer: WebGLBuffer | null; surfaceBuffer: WebGLBuffer | null; fallback?: WebGLFallback; private colorSpaceUniforms; constructor(fallback?: WebGLFallback); bind(context: RendererContext): void; unbind(): void; drawFrame(uid: number, { width, height, yStride, uStride, vStride, yBuffer, uBuffer, vBuffer, rotation, alphaBuffer, colorSpace, }: VideoFrame): void; protected rotateCanvas({ width, height, rotation }: VideoFrame): void; private initTextures; private releaseTextures; private handleContextLost; private handleContextRestored; /** * Get color space conversion parameters based on color space and range */ private getColorSpaceParams; /** * Set color space uniform values in the shader */ private setColorSpaceUniforms; } //# sourceMappingURL=index.d.ts.map