UNPKG

@lightningjs/renderer

Version:
45 lines (44 loc) 1.87 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'; import type { RectWithValid } from '../../lib/utils.js'; import type { Dimensions } from '../../../common/CommonTypes.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 bufferIdx: 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; readonly width: number; readonly height: number; readonly clippingRect: RectWithValid; readonly rtt: boolean; readonly parentHasRenderTexture: boolean; readonly framebufferDimensions?: Dimensions | null; readonly alpha: number; readonly pixelRatio: number; constructor(renderer: WebGlRenderer, quad: RenderOpQuadOptions, bufferIdx: number); addTexture(texture: WebGlCtxTexture): number; draw(): void; } export {};