@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
47 lines (46 loc) • 1.54 kB
TypeScript
import { Light, Camera, WebGLRenderer, Mesh, WebGLRenderTarget } from 'three';
import { LightMapControllerParams } from './lightMap/Common';
import { RenderTargetPair } from './lightMap/RenderTargetPair';
export declare class LightMapController {
private renderer;
private objectTargets;
private lights;
private _scene;
private renderFlippedUvs;
private nonFlippedRenderTargetPair;
private flippedRenderTargetPair;
private lightMapMaterial;
private blurMaterial;
private blurPlane;
private renderTargetsCombineMaterial;
private renderTargetsCombinePlane;
private finalRenderTarget;
private _params;
constructor(renderer: WebGLRenderer);
private setSize;
renderTargetPair(): RenderTargetPair;
textureRenderTarget(): WebGLRenderTarget<import("three").Texture>;
setParams(params: LightMapControllerParams): void;
setState(objects: Mesh[], lights: Light[]): void;
private _clearScene;
private _setObjects;
private _setLights;
private _objectStateByObject;
private _previousRenderTarget;
private _lightHierarchyStateByLight;
private _lightMatrixStateByLight;
private _saveLightHierarchyState;
private _t;
private _q;
private _s;
private _saveLightMatrixState;
private _saveObjectsState;
private _moveLights;
restoreState(): void;
private _invertObjects;
private _restoreObjectsState;
private _restoreLightsState;
runUpdates(camera: Camera): void;
private _clear;
private _update;
}