@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
69 lines (68 loc) • 4.28 kB
TypeScript
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 {};