UNPKG

polygonjs-engine

Version:

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

65 lines (64 loc) 3.91 kB
import { JsVariableConfig } from '../configs/VariableConfig'; import { JsCodeBuilder } from '../utils/CodeBuilder'; import { BaseJsNodeType } from '../../_Base'; import { TypedAssembler } from '../../../utils/shaders/BaseAssembler'; import { ShaderName } from '../../../utils/shaders/ShaderName'; import { OutputJsNode } from '../../Output'; import { GlobalsJsNode } from '../../Globals'; import { AttributeJsNode } from '../../Attribute'; import { AssemblerControllerNode } from '../Controller'; import { LinesController } from '../utils/LinesController'; import { NodeContext } from '../../../../poly/NodeContext'; import { JsLineType } from '../utils/LineType'; import { JsConnectionPoint, JsConnectionPointType } from '../../../utils/io/connections/Js'; import { NodeTypeMap } from '../../../../containers/utils/ContainerMap'; declare type StringArrayByShaderName = Map<ShaderName, string[]>; export declare class BaseJsFunctionAssembler extends TypedAssembler<NodeContext.JS> { protected _js_parent_node: AssemblerControllerNode; protected _shaders_by_name: Map<ShaderName, string>; protected _lines: StringArrayByShaderName; protected _code_builder: JsCodeBuilder | undefined; private _param_config_owner; protected _root_nodes: BaseJsNodeType[]; protected _leaf_nodes: BaseJsNodeType[]; private _uniforms_time_dependent; private _variable_configs; constructor(_js_parent_node: AssemblerControllerNode); get shader_names(): never[]; input_names_for_shader_name(node: NodeTypeMap[NodeContext.JS], shader_name: ShaderName): string[]; compile(): Promise<void>; compile_allowed(): boolean; protected _build_lines(): void; set_root_nodes(root_nodes: BaseJsNodeType[]): void; root_nodes_by_shader_name(shader_name: ShaderName): BaseJsNodeType[]; leaf_nodes(): BaseJsNodeType[]; set_node_lines_globals(globals_node: GlobalsJsNode, lines_controller: LinesController): void; set_node_lines_output(output_node: OutputJsNode, lines_controller: LinesController): void; set_node_lines_attribute(attribute_node: AttributeJsNode, lines_controller: LinesController): void; get code_builder(): JsCodeBuilder; build_code_from_nodes(root_nodes: BaseJsNodeType[]): Promise<void>; allow_new_param_configs(): void; disallow_new_param_configs(): void; builder_param_configs(): readonly import("../utils/ParamConfig").JsParamConfig<import("../../../../poly/ParamType").ParamType>[]; builder_lines(line_type: JsLineType): string[] | undefined; all_builder_lines(): Map<ShaderName, Map<JsLineType, string[]>>; param_configs(): readonly import("../utils/ParamConfig").JsParamConfig<import("../../../../poly/ParamType").ParamType>[]; set_param_configs_owner(param_config_owner: JsCodeBuilder): void; static add_output_inputs(output_child: OutputJsNode): void; add_output_inputs(output_child: OutputJsNode): void; static create_globals_node_output_connections(): (JsConnectionPoint<JsConnectionPointType.VEC3> | JsConnectionPoint<JsConnectionPointType.VEC2> | JsConnectionPoint<JsConnectionPointType.FLOAT>)[]; create_globals_node_output_connections(): (JsConnectionPoint<JsConnectionPointType.VEC3> | JsConnectionPoint<JsConnectionPointType.VEC2> | JsConnectionPoint<JsConnectionPointType.FLOAT>)[]; add_globals_outputs(globals_node: GlobalsJsNode): void; allow_attribute_exports(): boolean; reset_configs(): void; variable_configs(): JsVariableConfig[]; set_variable_configs(variable_configs: JsVariableConfig[]): void; variable_config(name: string): JsVariableConfig; static create_variable_configs(): JsVariableConfig[]; create_variable_configs(): JsVariableConfig[]; protected _reset_variable_configs(): void; protected _reset_uniforms_time_dependency(): void; set_uniforms_time_dependent(): void; uniforms_time_dependent(): boolean; } export {};