UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

45 lines (44 loc) 2.13 kB
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> { }