@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (33 loc) • 1.55 kB
TypeScript
import { BaseJsShaderAssembler, VelocityColliderFunctionData, SpareParamOptions } from '../_Base';
import { JsShaderConfig } from '../../configs/ShaderConfig';
import { VariableConfig } from '../../configs/VariableConfig';
import { OutputJsNode } from '../../../Output';
import { GlobalsJsNode } from '../../../Globals';
import { JsLinesCollectionController } from '../../utils/JsLinesCollectionController';
import { ParamOptions } from '../../../../../params/utils/OptionsController';
export declare enum SoftBodyVariable {
P = "position",
V = "velocity",
COLLISION_SDF = "collisionSDF",
TIME = "time",
DELTA = "delta"
}
export declare class JsAssemblerSoftBody extends BaseJsShaderAssembler {
makeFunctionNodeDirtyOnChange(): boolean;
defaultObjectVariable(): string;
defaultObject3DMaterialVariable(): string;
defaultPrimitiveGraph(): string;
templateShader(): {
velocity: string;
collider: string;
};
spareParamsOptions(options: SpareParamOptions): ParamOptions;
functionData(): VelocityColliderFunctionData | undefined;
updateFunction(): void;
add_output_inputs(output_child: OutputJsNode): void;
add_globals_outputs(globals_node: GlobalsJsNode): void;
create_shader_configs(): JsShaderConfig[];
create_variable_configs(): VariableConfig[];
setNodeLinesOutput(outputNode: OutputJsNode, linesController: JsLinesCollectionController): void;
setNodeLinesGlobals(globalsNode: GlobalsJsNode, shadersCollectionController: JsLinesCollectionController): void;
}