import * as THREE from 'three'; import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer'; import { Scene } from './Scene'; import { CameraController } from './CameraController'; import { IDimension } from '../../model/common/IDimension'; import Store from './Store'; export default class Renderer { private container; private renderer; private imageData; private css2dRenderer; private scene; private cameraController; private debugCamera; private debugScene; private debug3dCamera; private renderSize; private renderDirty; private rendering; private renderStartTime; private renderFrames; store: Store; getScale(): THREE.Vector3; setDebug3dCamera(debug3dCamera: THREE.Camera): void; setDebugSceneNCamera(debugScene: Scene, debugCamera: THREE.OrthographicCamera): void; setSize(size: IDimension): void; getSize(): IDimension; getImageData(): any; constructor(scene: Scene, cameraController: CameraController, store: Store); private render; requestRender(force?: boolean): void; getSceneMaterial(): number; renderToRenderTarget(renderTarget: THREE.WebGLRenderTarget, rtScene: THREE.Scene, rtCamera: THREE.OrthographicCamera | THREE.PerspectiveCamera): void; initTexture(texture: THREE.Texture): void; getCanvas(): HTMLCanvasElement; getRenderer(): THREE.WebGLRenderer; getCSS2DRendererDomElem(): HTMLElement; getCSS2DRenderer(): CSS2DRenderer; getScene(): Scene; initRenderer(): void; reset(): void; cleanup(): void; }