@lightningtv/renderer
Version:
Lightning 3 Renderer
37 lines (36 loc) • 1.52 kB
TypeScript
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 {};