jassub
Version:
The Fastest JavaScript SSA/ASS Subtitle Renderer For Browsers
33 lines (32 loc) • 1.28 kB
TypeScript
import { type ASSImage } from '../util.ts';
export declare class WebGL2Renderer {
canvas: OffscreenCanvas | null;
gl: WebGL2RenderingContext | null;
program: WebGLProgram | null;
vao: WebGLVertexArrayObject | null;
u_resolution: WebGLUniformLocation | null;
u_texArray: WebGLUniformLocation | null;
u_colorMatrix: WebGLUniformLocation | null;
instanceDestRectBuffer: WebGLBuffer | null;
instanceColorBuffer: WebGLBuffer | null;
instanceTexLayerBuffer: WebGLBuffer | null;
instanceDestRectData: Float32Array;
instanceColorData: Float32Array;
instanceTexLayerData: Float32Array;
texArray: WebGLTexture | null;
texArrayWidth: number;
texArrayHeight: number;
colorMatrix: Float32Array;
constructor();
_scheduledResize?: {
width: number;
height: number;
};
resizeCanvas(width: number, height: number): void;
setCanvas(canvas: OffscreenCanvas): void;
createShader(type: number, source: string): WebGLShader | null;
setColorMatrix(subtitleColorSpace?: 'BT601' | 'BT709' | 'SMPTE240M' | 'FCC', videoColorSpace?: 'BT601' | 'BT709'): void;
createTexArray(width: number, height: number): void;
render(images: ASSImage[], heap: Uint8Array): void;
destroy(): void;
}