@threepipe/webgi-plugins
Version:
WebGi - Realistic Rendering Plugins for ThreePipe.
55 lines • 2.46 kB
TypeScript
import { Color, ExtendedShaderMaterial, ExtendedShaderPass, GBufferPlugin, ICamera, IPassID, IPipelinePass, IRenderManager, IScene, IWebGLRenderer, PipelinePassPlugin, ThreeViewer, UiObjectConfig, Vector2, Vector3, WebGLMultipleRenderTargets, WebGLRenderTarget } from 'threepipe';
declare const passId = "depthOfField";
type DepthOfFieldPassId = typeof passId;
/**
* Depth Of Field Plugin
*
* Adds a depth of field effect with configurable focal point.
* @category Plugins
*/
export declare class DepthOfFieldPlugin extends PipelinePassPlugin<DepthOfFieldPluginPass<DepthOfFieldPassId>, DepthOfFieldPassId> {
static readonly PluginType = "DepthOfField";
static readonly OldPluginType = "DepthOfFieldPlugin";
readonly passId = "depthOfField";
enableEdit: boolean;
protected _focalPointHit: Vector3;
crossFadeTime: number;
private _focalPointHitTime;
protected get _frameFadeTime(): number;
constructor(enabled?: boolean, enableEdit?: boolean);
setFocalPoint(p: Vector3, fade?: boolean, showGizmo?: boolean): void;
getFocalPoint(): Vector3;
protected _onObjectHit(e: any): void;
protected _createPass(): DepthOfFieldPluginPass<"depthOfField">;
dependencies: (typeof GBufferPlugin)[];
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
private _onPluginAdd;
private _onPluginRemove;
uiConfig: UiObjectConfig;
private _tempVec;
protected _beforeRender(scene: IScene, camera: ICamera, renderManager: IRenderManager): boolean;
}
export declare class DepthOfFieldPluginPass<Tid extends IPassID> extends ExtendedShaderPass implements IPipelinePass<Tid> {
uiConfig?: UiObjectConfig;
before: string[];
after: string[];
required: string[];
computeCocMaterial: ExtendedShaderMaterial;
expandCocMaterial: ExtendedShaderMaterial;
dofBlurMaterial: ExtendedShaderMaterial;
depthRange: number;
nearBlurScale: number;
farBlurScale: number;
nearFarBlurScale: Vector2;
focalDepthRange: Vector2;
crossCenter: Vector2;
crossRadius: number;
crossAlpha: number;
crossColor: Color;
readonly passId: Tid;
constructor(pid: Tid);
render(renderer: IWebGLRenderer, writeBuffer?: WebGLMultipleRenderTargets | WebGLRenderTarget | null, readBuffer?: WebGLMultipleRenderTargets | WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
}
export {};
//# sourceMappingURL=DepthOfFieldPlugin.d.ts.map