UNPKG

@polygonjs/polygonjs

Version:

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

69 lines (68 loc) 4.28 kB
import { Constructor, valueof } from '../../../../types/GlobalTypes'; import { WebGLRenderer, Scene, Camera, UnsignedByteType, HalfFloatType, FloatType } from 'three'; import { EffectComposer, Pass } from 'postprocessing'; import { DisplayNodeController, DisplayNodeControllerCallbacks } from '../../utils/DisplayNodeController'; import { PostNodeChildrenMap } from '../../../poly/registers/nodes/Post'; import { BaseNodeType, TypedNode } from '../../_Base'; import { BasePostProcessNodeType } from '../_Base'; import { NodeParamsConfig } from '../../utils/params/ParamsConfig'; import { BaseViewerType } from '../../../viewers/_Base'; import { WithPolyId } from '../../../poly/RenderersController'; export interface POLYEffectComposer extends EffectComposer, WithPolyId { } export type PostProcessingTextureType = typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType; export declare function postProcessTextureTypeLabel(value: number): string | undefined; export declare function PostProcessNetworkParamsConfigMixin<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { prependRenderPass: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; depthBuffer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; stencilBuffer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; sampling: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>; tTextureType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; textureType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>; }; } & TBase; declare const PostProcessNetworkParamsConfig_base: { new (...args: any[]): { prependRenderPass: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; depthBuffer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; stencilBuffer: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; sampling: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>; tTextureType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.BOOLEAN>; textureType: import("../../utils/params/ParamsConfig").ParamTemplate<import("../../../index_all").ParamType.INTEGER>; }; } & typeof NodeParamsConfig; export declare class PostProcessNetworkParamsConfig extends PostProcessNetworkParamsConfig_base { } export interface BaseNetworkPostProcessNodeType extends TypedNode<any, PostProcessNetworkParamsConfig> { readonly displayNodeController: DisplayNodeController; createNode<S extends keyof PostNodeChildrenMap>(node_class: S): PostNodeChildrenMap[S]; createNode<K extends valueof<PostNodeChildrenMap>>(node_class: Constructor<K>): K; children(): BasePostProcessNodeType[]; nodesByType<K extends keyof PostNodeChildrenMap>(type: K): PostNodeChildrenMap[K][]; readonly effectsComposerController: EffectComposerController; } interface CreateEffectsComposerOptions { renderer: WebGLRenderer; scene: Scene; camera: Camera; viewer: BaseViewerType; } export interface RenderTargetCreateOptions { width: number; height: number; } export declare class EffectComposerController { private node; private _composerAndOptionsByCamera; constructor(node: BaseNetworkPostProcessNodeType); displayNodeControllerCallbacks(): DisplayNodeControllerCallbacks; private _nextId; createEffectsComposer(options: CreateEffectsComposerOptions): EffectComposer; createEffectsComposerAndBuildPasses(options: CreateEffectsComposerOptions): EffectComposer; private _updateComposers; private _passByNodeInBuildPassesProcess; addPassByNodeInBuildPassesProcess(node: BaseNodeType, pass: Pass, composer: EffectComposer): void; private _buildPasses; } export {};