import { Specification, Mark, Binding, TextureBinding, ShiftBinding, Platform, PlatformMark, PlatformMarkData, Vector3 } from "stardust-core"; import { Dictionary } from "stardust-core"; import { GenerateMode, ViewType } from "./generator"; import { Pose } from "stardust-core"; export declare class WebGLPlatformMarkData extends PlatformMarkData { buffers: Dictionary; ranges: Array<[number, number]>; } export declare class WebGLPlatformMark extends PlatformMark { private _mark; private _platform; private _GL; private _bindings; private _shiftBindings; private _spec; private _shader; private _specFlattened; private _flattenedVertexIndexVariable; private _flattenedVertexCount; private _program; private _programPick; private _pickIndex; constructor(platform: WebGLPlatform, GL: WebGLRenderingContext, mark: Mark, spec: Specification.Mark, shader: Specification.Shader, bindings: Dictionary, shiftBindings: Dictionary); initializeUniforms(): void; initializeBuffers(): WebGLPlatformMarkData; isUniform(name: string): boolean; updateUniform(name: string, value: Specification.Value): void; updateTexture(name: string, value: TextureBinding): void; uploadData(datas: any[][]): PlatformMarkData; renderBase(buffers: WebGLPlatformMarkData, mode: GenerateMode, onRender: (i: number) => void): void; setPickIndex(index: number): void; render(buffers: PlatformMarkData, onRender: (i: number) => void): void; } export interface WebGLViewInfo { type: ViewType; width?: number; height?: number; fovY?: number; aspectRatio?: number; near?: number; far?: number; viewMatrix?: number[]; projectionMatrix?: number[]; } export declare class WebGLPlatform extends Platform { readonly viewInfo: WebGLViewInfo; readonly pose: Pose; readonly cameraPosition: Vector3; readonly renderMode: GenerateMode; protected _GL: WebGLRenderingContext; protected _viewInfo: WebGLViewInfo; protected _pose: Pose; protected _cameraPosition: Vector3; protected _renderMode: GenerateMode; protected _pickFramebuffer: WebGLFramebuffer; protected _pickFramebufferTexture: WebGLTexture; protected _pickFramebufferWidth: number; protected _pickFramebufferHeight: number; protected _pickMarks: Mark[]; constructor(GL: WebGLRenderingContext); getPickFramebuffer(width: number, height: number): WebGLFramebuffer; beginPicking(width: number, height: number): void; assignPickIndex(mark: Mark): number; endPicking(): void; getPickingPixel(x: number, y: number): [Mark, number]; set2DView(width: number, height: number): void; set3DView(fovY: number, aspectRatio: number, near?: number, far?: number): void; setWebVRView(viewMatrix: number[], projectionMatrix: number[]): void; setMatrixView(viewMatrix: number[], projectionMatrix: number[]): void; setCameraPosition(cameraPosition: Vector3): void; setPose(pose: Pose): void; compile(mark: Mark, spec: Specification.Mark, shader: Specification.Shader, bindings: Dictionary, shiftBindings: Dictionary): PlatformMark; }