UNPKG

@lightningtv/renderer

Version:
36 lines (35 loc) 1.61 kB
import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js'; import type { QuadOptions } from '../CoreRenderer.js'; import type { CoreShaderProgram } from '../CoreShaderProgram.js'; import type { WebGlCtxTexture } from './WebGlCtxTexture.js'; import type { WebGlRenderOp } from './WebGlRenderOp.js'; import type { WebGlRenderer } from './WebGlRenderer.js'; import type { WebGlShaderType } from './WebGlShaderNode.js'; import type { BufferCollection } from './internal/BufferCollection.js'; export declare class WebGlShaderProgram implements CoreShaderProgram { protected boundBufferCollection: BufferCollection | null; protected program: WebGLProgram; /** * Vertex Array Object * * @remarks * Used by WebGL2 Only */ protected vao: WebGLVertexArrayObject | undefined; protected renderer: WebGlRenderer; protected glw: WebGlContextWrapper; protected attributeLocations: Record<string, number>; protected lifecycle: Pick<WebGlShaderType, 'update' | 'canBatch'>; protected useSystemAlpha: boolean; protected useSystemDimensions: boolean; supportsIndexedTextures: boolean; constructor(renderer: WebGlRenderer, config: WebGlShaderType, resolvedProps: Record<string, any>); disableAttribute(location: number): void; disableAttributes(): void; reuseRenderOp(renderOpA: QuadOptions, renderOpB: QuadOptions): boolean; bindRenderOp(renderOp: WebGlRenderOp): void; bindBufferCollection(buffer: BufferCollection): void; bindTextures(textures: WebGlCtxTexture[]): void; attach(): void; detach(): void; }