/** * Allows to create a shader with GLSL nodes to create the texture values. * * */ import { Constructor, valueof } from '../../../types/GlobalTypes'; import { WebGLRenderTarget } from 'three/src/renderers/WebGLRenderTarget'; import { ShaderMaterial } from 'three/src/materials/ShaderMaterial'; import { TypedCopNode } from './_Base'; import { GlNodeChildrenMap } from '../../poly/registers/nodes/Gl'; import { BaseGlNodeType } from '../gl/_Base'; import { NodeContext } from '../../poly/NodeContext'; import { IUniform } from 'three/src/renderers/shaders/UniformsLib'; export interface IUniforms { [uniform: string]: IUniform; } import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { AssemblerName } from '../../poly/registers/assemblers/_BaseRegister'; import { TexturePersistedConfig } from '../gl/code/assemblers/textures/PersistedConfig'; import { IUniformsWithTime } from '../../scene/utils/UniformsController'; import { ParamsInitData } from '../utils/io/IOController'; declare class BuilderCopParamsConfig extends NodeParamsConfig { /** @param texture resolution */ resolution: import("../utils/params/ParamsConfig").ParamTemplate; /** @param defines if the shader is rendered via the same camera used to render the scene */ useCameraRenderer: import("../utils/params/ParamsConfig").ParamTemplate; } export declare class BuilderCopNode extends TypedCopNode { params_config: BuilderCopParamsConfig; static type(): string; readonly persisted_config: TexturePersistedConfig; protected _assembler_controller: import("../gl/code/Controller").GlAssemblerController | undefined; usedAssembler(): Readonly; protected _create_assembler_controller(): import("../gl/code/Controller").GlAssemblerController | undefined; get assemblerController(): import("../gl/code/Controller").GlAssemblerController | undefined; private _texture_mesh; private _fragment_shader; private _uniforms; readonly texture_material: ShaderMaterial; private _texture_scene; private _texture_camera; private _render_target; private _data_texture_controller; private _renderer_controller; protected _children_controller_context: NodeContext; initializeNode(): void; createNode(node_class: S, params_init_value_overrides?: ParamsInitData): GlNodeChildrenMap[S]; createNode>(node_class: Constructor, params_init_value_overrides?: ParamsInitData): K; children(): BaseGlNodeType[]; nodesByType(type: K): GlNodeChildrenMap[K][]; childrenAllowed(): boolean; private _cook_main_without_inputs_when_dirty_bound; private _cook_main_without_inputs_when_dirty; cook(): Promise; shaders_by_name(): { fragment: string | undefined; }; compile_if_required(): void; private compile; static handle_dependencies(node: BuilderCopNode, time_dependent: boolean, uniforms?: IUniformsWithTime): void; render_on_target(): Promise; render_target(): WebGLRenderTarget; private create_render_target_if_required; private _render_target_resolution_valid; private _create_render_target; } export {};