the-world-engine
Version:
three.js based, unity like game engine for browser
53 lines (52 loc) • 2.22 kB
TypeScript
import type { Pass } from "three/examples/jsm/postprocessing/EffectComposer";
import { Component } from "../../hierarchy_object/Component";
import type { IReadonlyGameScreen } from "../../render/IReadonlyGameScreen";
export declare class WebGLGlobalPostProcessVolume extends Component {
private _renderPass;
private _effectComposer;
private _willAddRenderPass;
private _reInitializeWhenCameraChanged;
private _reinitializeWhenScreenSizeChanged;
private _passes;
private _initializer;
private _disposer;
private readonly onCameraChanged;
private readonly onScreenResize;
onEnable(): void;
onDisable(): void;
private removeAndDisposePasses;
private initializeEffectComposer;
/**
* set initializer for effect composer. this callback will be called multiple times when switching camera. or when screen size is changed.
*
* i recommend you make this callback as pure function.
* @param initializer its return value is tuple of passes and disposer. you must dispose passes in disposer.
*/
initializer(initializer: (scene: THREE.Scene, camera: THREE.Camera, screen: IReadonlyGameScreen) => readonly [readonly Pass[], (() => void)?]): void;
/**
* if true, render pass will be added to effect composer.
* this value is only available before onEnable method is called.
*/
get willAddRenderPass(): boolean;
/**
* if true, render pass will be added to effect composer.
* this value is only available before onEnable method is called.
*/
set willAddRenderPass(value: boolean);
/**
* if true, effect composer will be reinitialized when current camera is changed.
*/
get reInitializeWhenCameraChanged(): boolean;
/**
* if true, effect composer will be reinitialized when current camera is changed.
*/
set reInitializeWhenCameraChanged(value: boolean);
/**
* if true, effect composer will be reinitialized when screen size is changed.
*/
get reinitializeWhenScreenSizeChanged(): boolean;
/**
* if true, effect composer will be reinitialized when screen size is changed.
*/
set reinitializeWhenScreenSizeChanged(value: boolean);
}