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 { RectWithValid } from '../../lib/utils.js'; import type { Dimensions } from '../../../common/CommonTypes.js'; import type { Stage } from '../../Stage.js'; /** * A batched SDF text render operation. * * Rather than owning its own WebGL buffer, this op references a range * inside the renderer's shared SDF vertex buffer. Multiple text nodes * that share the same atlas texture and clipping state are merged into * a single SdfRenderOp, producing one draw call for many strings. */ export declare class SdfRenderOp extends CoreRenderOp { readonly renderer: WebGlRenderer; readonly shader: WebGlShaderNode; readonly quadBufferCollection: BufferCollection; readonly worldAlpha: number; readonly clippingRect: RectWithValid; readonly w: number; readonly h: number; readonly rtt: boolean; parentHasRenderTexture: boolean; framebufferDimensions: Dimensions | null; numQuads: number; readonly isCoreNode: false; renderOpTextures: WebGlCtxTexture[]; time: number; readonly stage: Stage; /** * Index of the first quad in the shared SDF buffer. * Used to compute the byte offset into the element index buffer. */ startQuad: number; constructor(renderer: WebGlRenderer, shader: WebGlShaderNode, quadBufferCollection: BufferCollection, worldAlpha: number, clippingRect: RectWithValid, w: number, h: number, rtt: boolean, parentHasRenderTexture: boolean, framebufferDimensions: Dimensions | null); addTexture(texture: WebGlCtxTexture): number; draw(): void; }