UNPKG

@openglobus/og

Version:

[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely fr

83 lines (82 loc) 3.4 kB
import { GeoObject } from "./GeoObject"; import type { WebGLBufferExt, WebGLTextureExt } from "../webgl/Handler"; import type { TypedArray } from "../utils/shared"; import { Program } from "../webgl/Program"; import { GeoObjectHandler } from "./GeoObjectHandler"; export declare class InstanceData { isFree: boolean; _geoObjectHandler: GeoObjectHandler; geoObjects: GeoObject[]; numInstances: number; _colorTexture: WebGLTextureExt | null; _normalTexture: WebGLTextureExt | null; _metallicRoughnessTexture: WebGLTextureExt | null; _colorTextureSrc: string | null; _normalTextureSrc: string | null; _metallicRoughnessTextureSrc: string | null; _colorTextureImage: HTMLImageElement | null; _normalTextureImage: HTMLImageElement | null; _metallicRoughnessTextureImage: HTMLImageElement | null; _objectSrc?: string; _sizeArr: number[] | TypedArray; _translateArr: number[] | TypedArray; _vertexArr: number[] | TypedArray; _rtcPositionHighArr: number[] | TypedArray; _rtcPositionLowArr: number[] | TypedArray; _qRotArr: number[] | TypedArray; _rgbaArr: number[] | TypedArray; _normalsArr: number[] | TypedArray; _indicesArr: number[] | TypedArray; _pickingColorArr: number[] | TypedArray; _visibleArr: number[] | TypedArray; _texCoordArr: number[] | TypedArray; _localPositionArr: number[] | TypedArray; _sizeBuffer: WebGLBufferExt | null; _translateBuffer: WebGLBufferExt | null; _vertexBuffer: WebGLBufferExt | null; _rtcPositionHighBuffer: WebGLBufferExt | null; _rtcPositionLowBuffer: WebGLBufferExt | null; _qRotBuffer: WebGLBufferExt | null; _rgbaBuffer: WebGLBufferExt | null; _normalsBuffer: WebGLBufferExt | null; _indicesBuffer: WebGLBufferExt | null; _pickingColorBuffer: WebGLBufferExt | null; _visibleBuffer: WebGLBufferExt | null; _texCoordBuffer: WebGLBufferExt | null; _localPositionBuffer: WebGLBufferExt | null; _buffersUpdateCallbacks: Function[]; _changedBuffers: boolean[]; _materialParams: Float32Array; _materialShininess: number; constructor(geoObjectHandler: GeoObjectHandler); setMaterialAmbient(r: number, g: number, b: number): void; setMaterialDiffuse(r: number, g: number, b: number): void; setMaterialSpecular(r: number, g: number, b: number): void; setMaterialShininess(shininess: number): void; setMaterialParams(ambient: Float32Array, diffuse: Float32Array, specular: Float32Array, shininess: number): void; drawOpaque(p: Program): void; drawTransparent(p: Program): void; protected _drawElementsInstanced(p: Program): void; loadColorTexture(): Promise<void>; loadNormalTexture(): Promise<void>; loadMetallicRoughnessTexture(): Promise<void>; clear(): void; _deleteBuffers(): void; createVertexBuffer(): void; createVisibleBuffer(): void; createSizeBuffer(): void; createTranslateBuffer(): void; createLocalPositionBuffer(): void; createTexCoordBuffer(): void; createRTCPositionBuffer(): void; createRgbaBuffer(): void; createQRotBuffer(): void; createNormalsBuffer(): void; createIndicesBuffer(): void; createPickingColorBuffer(): void; refresh(): void; update(): void; private _createColorTexture; private _createNormalTexture; private _createMetallicRoughnessTexture; }