@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
45 lines (44 loc) • 2.13 kB
TypeScript
import { Camera, Scene, WebGLRenderer } from 'three';
import { TypedNode } from '../_Base';
import { EffectComposer, Pass } from 'postprocessing';
import { NodeContext } from '../../poly/NodeContext';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { FlagsControllerDB } from '../utils/FlagsController';
import { ParamOptions } from '../../params/utils/OptionsController';
import { BaseNetworkPostProcessNodeType, EffectComposerController } from './utils/EffectComposerController';
import { BaseViewerType } from '../../viewers/_Base';
export interface TypedPostNodeContext {
composerController: EffectComposerController;
composer: EffectComposer;
camera: Camera;
renderer: WebGLRenderer;
scene: Scene;
viewer: BaseViewerType;
}
export declare const PostParamOptions: ParamOptions;
/**
*
*
* TypedPostNode is the base class for all nodes that create post-processing passes. This inherits from [TypedNode](/docs/api/TypedNode).
*
*/
export declare class TypedPostNode<P extends Pass, K extends NodeParamsConfig> extends TypedNode<NodeContext.POST, K> {
static context(): NodeContext;
readonly flags: FlagsControllerDB;
protected _passesByEffectsComposer: Map<EffectComposer, P | P[]>;
initializeNode(): void;
cook(): void;
setupComposer(context: TypedPostNodeContext): void;
protected _setupComposerIfActive(context: TypedPostNodeContext): void;
passesByComposer(composer: EffectComposer): P | P[] | undefined;
protected _addPassFromInput(index: number, context: TypedPostNodeContext): void;
createPassForContext(context: TypedPostNodeContext): P | P[] | undefined;
createPass(context: TypedPostNodeContext): P | P[] | undefined;
static PARAM_CALLBACK_updatePasses(node: BasePostProcessNodeType): void;
protected _updatePasses(): void;
protected updatePass(pass: P): void;
protected _postProcessNetworkNode(): BaseNetworkPostProcessNodeType;
}
export type BasePostProcessNodeType = TypedPostNode<Pass, NodeParamsConfig>;
export declare class BasePostProcessNodeClass extends TypedPostNode<Pass, NodeParamsConfig> {
}