@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
68 lines (67 loc) • 3.11 kB
TypeScript
/**
* Allows to build a post pass with [gl nodes](/docs/nodes/gl)
*
*
*/
import { TypedPostNode, TypedPostNodeContext } from './_Base';
import { EffectPass } from 'postprocessing';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { GlNodeChildrenMap } from '../../poly/registers/nodes/Gl';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { BaseGlNodeType } from '../gl/_Base';
import { IUniformsWithTime } from '../../scene/utils/UniformsController';
import { IUniforms } from '../../../core/geometry/Material';
import { valueof, Constructor } from './../../../types/GlobalTypes';
import { AssemblerName } from './../../poly/registers/assemblers/_BaseRegister';
import { PostPersistedConfig } from './../gl/code/assemblers/post/PostPersistedConfig';
import { PostType } from './../../poly/registers/nodes/types/Post';
import { NodeContext } from '../../poly/NodeContext';
import { GlAssemblerController } from '../gl/code/Controller';
import { ShaderAssemblerPost } from '../gl/code/assemblers/post/Post';
declare class BuilderPostParamsConfig extends NodeParamsConfig {
/** @param effect amount */
useInput1OuputBuffer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class BuilderPostNode extends TypedPostNode<EffectPass, BuilderPostParamsConfig> {
paramsConfig: BuilderPostParamsConfig;
static type(): PostType;
readonly persisted_config: PostPersistedConfig;
protected _assemblerController: GlAssemblerController<ShaderAssemblerPost> | undefined;
usedAssembler(): Readonly<AssemblerName.GL_POST>;
protected _createAssemblerController(): GlAssemblerController<ShaderAssemblerPost> | undefined;
assemblerController(): GlAssemblerController<ShaderAssemblerPost> | undefined;
protected _childrenControllerContext: NodeContext;
initializeNode(): void;
createNode<S extends keyof GlNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): GlNodeChildrenMap[S];
createNode<K extends valueof<GlNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
children(): BaseGlNodeType[];
nodesByType<K extends keyof GlNodeChildrenMap>(type: K): GlNodeChildrenMap[K][];
childrenAllowed(): boolean;
sceneReadonly(): boolean;
/**
*
* FRAGMENT SHADER UPDATE
*
*/
private _fragmentShader;
private _uniforms;
fragmentShader(): string;
setFragmentShader(fragmentShader: string): void;
uniforms(): IUniforms;
setUniforms(uniforms: IUniforms): void;
shaders_by_name(): {
fragment: string;
};
compileIfRequired(): void;
private compile;
static handleDependencies(node: BuilderPostNode, timeDependent: boolean, uniforms?: IUniformsWithTime): void;
/**
*
* PASS CREATE / UPDATE
*
*/
createPass(context: TypedPostNodeContext): EffectPass;
updatePass(pass: EffectPass): void;
protected _createEffectComposer(context: TypedPostNodeContext): import("postprocessing").EffectComposer;
}
export {};