UNPKG

@lightningtv/renderer

Version:
37 lines (36 loc) 1.52 kB
import { CoreRenderOp } from '../CoreRenderOp.js'; import type { WebGlCtxTexture } from './WebGlCtxTexture.js'; import type { WebGlRenderer } from './WebGlRenderer.js'; import type { BufferCollection } from './internal/BufferCollection.js'; import type { WebGlShaderNode } from './WebGlShaderNode.js'; import type { QuadOptions } from '../CoreRenderer.js'; import type { CoreTextNode } from '../../CoreTextNode.js'; type ReqQuad = 'alpha' | 'shader' | 'parentHasRenderTexture' | 'rtt' | 'clippingRect' | 'height' | 'width'; type RenderOpQuadOptions = Pick<QuadOptions, ReqQuad> & Partial<Omit<QuadOptions, ReqQuad>> & { sdfShaderProps?: Record<string, unknown>; sdfBuffers?: BufferCollection; }; /** * Can render multiple quads with multiple textures (up to vertex shader texture limit) * */ export declare class WebGlRenderOp extends CoreRenderOp { readonly renderer: WebGlRenderer; readonly quad: RenderOpQuadOptions; readonly bufferIdx: number; length: number; numQuads: number; textures: WebGlCtxTexture[]; /** * need to improve this when TextRenderers are refactored */ readonly sdfShaderProps: Record<string, unknown> | undefined; readonly sdfNode: CoreTextNode | undefined; readonly maxTextures: number; readonly buffers: BufferCollection; readonly shader: WebGlShaderNode; constructor(renderer: WebGlRenderer, quad: RenderOpQuadOptions, bufferIdx: number); addTexture(texture: WebGlCtxTexture): number; draw(): void; } export {};