UNPKG

@polygonjs/polygonjs

Version:

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

68 lines (67 loc) 3.11 kB
/** * 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 {};