threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
36 lines • 1.51 kB
TypeScript
import { IPassID, IPipelinePass } from '../../postprocessing';
import { AViewerPluginEventMap, AViewerPluginSync, ISerializedConfig, ThreeViewer } from '../../viewer';
import { SerializationMetaType } from '../../utils';
import { ICamera, IRenderManager, IScene } from '../../core';
/**
* Pipeline Pass Plugin
*
* Base class for creating a plugin that registers a custom pass to the main render pipeline
*
* @category Plugins
*/
export declare abstract class PipelinePassPlugin<T extends IPipelinePass, TPassId extends IPassID, TEvent extends AViewerPluginEventMap = AViewerPluginEventMap, TViewer extends ThreeViewer = ThreeViewer> extends AViewerPluginSync<TEvent, TViewer> {
abstract passId: TPassId;
enabled: boolean;
protected _pass?: T;
protected abstract _createPass(): T;
/**
* This function is called every frame before composer render, if this pass is being used in the pipeline
* @param _
* @param _1
* @param _2
*/
protected _beforeRender(_?: IScene, _1?: ICamera, _2?: IRenderManager): boolean;
constructor();
onAdded(viewer: TViewer): void;
onRemove(viewer: TViewer): void;
get pass(): T | undefined;
toJSON(meta?: SerializationMetaType): ISerializedConfig & {
pass?: any;
};
fromJSON(data: ISerializedConfig & {
pass?: any;
}, meta?: SerializationMetaType): this | null | Promise<this | null>;
setDirty(): void;
}
//# sourceMappingURL=../../src/plugins/base/PipelinePassPlugin.d.ts.map