@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
42 lines (41 loc) • 1.23 kB
TypeScript
import { Camera, WebGLRenderer } from 'three';
import mapboxgl from 'mapbox-gl';
import { PolyScene } from '../../../../engine/scene/PolyScene';
import { MapboxViewer } from '../../../../engine/viewers/Mapbox';
import { LngLat } from '../Common';
export type ThreejsLayerRenderFunc = (renderer: WebGLRenderer) => void;
export interface ThreejsLayerOptions {
map: mapboxgl.Map;
scene: PolyScene;
camera: Camera;
canvas: HTMLCanvasElement;
lngLat: LngLat;
viewer: MapboxViewer;
renderFunc: ThreejsLayerRenderFunc;
}
export declare class ThreejsLayer {
readonly id: string;
readonly type: 'custom';
readonly renderingMode: '3d';
private _renderer;
private _displayScene;
private _map;
private _viewer;
private _renderFunc;
private _camera;
private _lngLat;
constructor(options: ThreejsLayerOptions);
onAdd(map: mapboxgl.Map, gl: WebGLRenderingContext): void;
private createRenderer;
render(gl: WebGLRenderingContext, matrix: number[]): Promise<void>;
private _vX;
private _vY;
private _vZ;
private mRX;
private mRY;
private mRZ;
private s;
private m;
private l;
_updateCameraMatrix(matrix: number[]): void;
}