import { Specification, Mark, Binding, ShiftBinding, Platform, PlatformMark, PlatformMarkData, TextureBinding } from "stardust-core"; import { Dictionary } from "stardust-core"; import { GenerateMode, ViewType } from "./generator"; import { Pose } from "stardust-core"; import { GL3, OpenGLWindow, OmniStereo } from "allofw"; export declare class AllofwPlatformMarkData extends PlatformMarkData { buffers: Dictionary; vertexArray: GL3.VertexArray; ranges: [number, number][]; } export declare class AllofwPlatformMark extends PlatformMark { private _mark; private _platform; private _bindings; private _shiftBindings; private _spec; private _shader; private _program; private _pickIndex; private _minOffset; private _maxOffset; constructor(platform: AllofwPlatform3D, mark: Mark, spec: Specification.Mark, shader: Specification.Shader, bindings: Dictionary, shiftBindings: Dictionary); initializeUniforms(): void; initializeBuffers(): AllofwPlatformMarkData; isUniform(name: string): boolean; updateUniform(name: string, value: Specification.Value): void; updateTexture(name: string, value: TextureBinding): void; uploadData(datas: any[][]): PlatformMarkData; renderBase(buffers: AllofwPlatformMarkData, onRender: (i: number) => void): 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; } export declare class AllofwPlatform3D extends Platform { protected _GL: WebGLRenderingContext; protected _viewInfo: WebGLViewInfo; protected _pose: Pose; protected _renderMode: GenerateMode; protected _window: OpenGLWindow; protected _omnistereo: OmniStereo; constructor(window: OpenGLWindow, omnistereo: OmniStereo); readonly omnistereo: OmniStereo; getPrefixCode(): string; compile(mark: Mark, spec: Specification.Mark, shader: Specification.Shader, bindings: Dictionary, shiftBindings: Dictionary): PlatformMark; }