/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ /// import { Core } from "../../main.js"; import { IRendererOptionsBase, RendererBase } from "../renderer.js"; import { TransitionBuffer } from "./buffer.js"; import { Config } from "./config.js"; import { Resources as ShaderResources } from "./shaders/shader.js"; import { Color as ColorShader } from "./shaders/color.js"; import { Texture as TextureShader } from "./shaders/texture.js"; import { Lasso as LassoShader } from "./shaders/lasso.js"; import { Model as ModelShader } from "./shaders/model.js"; import { SdfText as SdfTextShader } from "./shaders/sdftext.js"; import { PickGrid as PickGridShader } from "./shaders/pickgrid.js"; import { UnitBlock as UnitBlockShader } from "./shaders/unitblock.js"; import { UnitSphere as UnitSphereShader } from "./shaders/unitsphere.js"; import { UnitCylinder as UnitCylinderShader } from "./shaders/unitcylinder.js"; import { UnitHexPrism as UnitHexPrismShader } from "./shaders/unithexprism.js"; import { UnitSdf as UnitSdfShader } from "./shaders/unitsdf.js"; import { Anaglyph as AnaglyphShader } from "./shaders/anaglyph.js"; import { DebugAxesVisual } from "./components/debug.js"; import { AxesVisualBase } from "./components/axes/axes.js"; import { Cartesian2dVisual } from "./components/axes/cartesian2d.js"; import { Cartesian3dVisual } from "./components/axes/cartesian3d.js"; import { DebugAxes } from "../../components/debug.js"; import { Cartesian2dAxes } from "../../components/axes/cartesian2d.js"; import { Cartesian3dAxes } from "../../components/axes/cartesian3d.js"; import { Controller } from "../../components/controller.js"; import { ControllerVisual } from "./components/controller.js"; import { IImageVisual, ImageBase } from "../../components/image.js"; import { ImageVisual } from "./components/image.js"; import { ILabelSetVisual, Label, LabelSet } from "../../components/labels.js"; import { LabelVisual, LabelSetVisual } from "./components/labels.js"; import { IFontVisual, Font } from "../../font.js"; import { FontVisual } from "./font.js"; export interface IRendererOptions extends IRendererOptionsBase { antialias?: boolean; preserveDrawingBuffer?: boolean; } export declare class Main extends RendererBase { protected _options: IRendererOptions; private _gl; private _shaderResources; private _colorShader; private _textureShader; private _lassoShader; private _modelShader; private _sdfTextShader; private _gridShader; private _blockShader; private _sphereShader; private _cylinderShader; private _hexPrismShader; private _sdfShader; private _anaglyphShader; get shaderResources(): ShaderResources; get colorShader(): ColorShader; get textureShader(): TextureShader; get lassoShader(): LassoShader; get modelShader(): ModelShader; get sdfTextShader(): SdfTextShader; get gridShader(): PickGridShader; get blockShader(): UnitBlockShader; get sphereShader(): UnitSphereShader; get cyclinderShader(): UnitCylinderShader; get hexPrismShader(): UnitHexPrismShader; get sdfShader(): UnitSdfShader; get anaglyphShader(): AnaglyphShader; depthEnabled: boolean; protected _debugAxesVisual: DebugAxesVisual; private _pickFrameBuffer; private _pickedPixels; private _pickedIdColor; private _framebuffers; private _anaglyphTextures; anaglyphFramebuffers: WebGLFramebuffer[]; private _quad; private _lasso; protected _axes1: AxesVisualBase[]; protected _axes2: AxesVisualBase[]; get currentAxes(): AxesVisualBase[]; set currentAxes(value: AxesVisualBase[]); get previousAxes(): AxesVisualBase[]; set previousAxes(value: AxesVisualBase[]); transitionBuffers: TransitionBuffer[]; fonts: { [key: string]: FontVisual; }; labelSets: LabelSetVisual[]; images: ImageVisual[]; controllers: ControllerVisual[]; protected _config: Config; get config(): Config; private _mat3; private _directionToCamera; private _directionToLight; private _halfAngle; private _cameraPosition; private _modelPosition; constructor(options?: IRendererOptions); get isSupported(): boolean; get isWebXRSupported(): boolean; initialize(core: Core): void; private _initializeContext; protected _resize(width: number, height: number): void; private _createContext; initializeWebXR(session: XRSession): Promise; prepare(xrFrame?: XRFrame): void; createTransitionBuffer(ids: Uint32Array): TransitionBuffer; createControllerVisual(controller: Controller): ControllerVisual; createCartesian2dAxesVisual(axes: Cartesian2dAxes): Cartesian2dVisual; createCartesian3dAxesVisual(axes: Cartesian3dAxes): Cartesian3dVisual; protected _createDebugAxesVisual(debugAxes: DebugAxes): DebugAxesVisual; protected _createLabelVisual(label: Label): LabelVisual; createLabelSetVisual(labelSet: LabelSet): ILabelSetVisual; createImageVisual(image: ImageBase): IImageVisual; createFontVisual(font: Font): IFontVisual; getDataUrl(mimeType?: string): string; render(elapsedTime: number, xrFrame?: XRFrame): Promise; private _renderTransitionBuffer; }