@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
53 lines (52 loc) • 2.58 kB
TypeScript
import { TypedNode } from '../_Base';
import { BaseGlShaderAssembler } from './code/assemblers/_Base';
import { AssemblerGlControllerNode } from './code/Controller';
import { NodeContext } from '../../poly/NodeContext';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ParamConfigsController } from '../utils/code/controllers/ParamConfigsController';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
import { ParamInitValueSerialized } from '../../params/types/ParamInitValueSerialized';
import { GlParamConfig } from './code/utils/GLParamConfig';
import { ParamType } from '../../poly/ParamType';
import { IntegerParam } from '../../params/Integer';
import { FloatParam } from '../../params/Float';
import { Vector2Param } from '../../params/Vector2';
import { Vector3Param } from '../../params/Vector3';
import { Vector4Param } from '../../params/Vector4';
import { ColorParam } from '../../params/Color';
import { BooleanParam } from '../../params/Boolean';
/**
*
*
* TypedGlNode is the base class for all nodes that process GLSL code. This inherits from [TypedNode](/docs/api/TypedNode).
*
*/
export declare class TypedGlNode<K extends NodeParamsConfig> extends TypedNode<NodeContext.GL, K> {
static context(): NodeContext;
protected _param_configs_controller: ParamConfigsController<GlParamConfig<ParamType>> | undefined;
protected _assembler: BaseGlShaderAssembler | undefined;
private _paramsEditableStatesController;
initializeBaseNode(): void;
cook(): void;
protected _setMatToRecompile(): void;
materialNode(): AssemblerGlControllerNode | undefined;
glVarName(varName: string): string;
protected _glVarNameBase(): string;
variableForInputParam(param: IntegerParam | FloatParam | Vector2Param | Vector3Param | Vector4Param | ColorParam | BooleanParam): string;
variableForInput(inputName: string): string;
setLines(shaders_collection_controller: ShadersCollectionController): void;
reset_code(): void;
setParamConfigs(): void;
param_configs(): readonly GlParamConfig<ParamType>[] | undefined;
paramsGenerating(): boolean;
paramDefaultValue(name: string): ParamInitValueSerialized;
}
export type BaseGlNodeType = TypedGlNode<NodeParamsConfig>;
export declare class BaseGlNodeClass extends TypedGlNode<NodeParamsConfig> {
}
declare class ParamlessGlParamsConfig extends NodeParamsConfig {
}
export declare class ParamlessTypedGlNode extends TypedGlNode<ParamlessGlParamsConfig> {
paramsConfig: ParamlessGlParamsConfig;
}
export {};