polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
33 lines (31 loc) • 1.54 kB
text/typescript
import {BaseJsFunctionAssembler} from './_Base';
import {ParamType} from '../../../../poly/ParamType';
import {OutputJsNode} from '../../Output';
import {JsConnectionPointType, JsConnectionPoint} from '../../../utils/io/connections/Js';
import {GlobalsJsNode} from '../../Globals';
export class PointsJsFunctionAssembler extends BaseJsFunctionAssembler {
static add_output_inputs(output_child: OutputJsNode) {
output_child.params.addParam(ParamType.VECTOR3, 'position', [0, 0, 0], {hidden: true});
output_child.params.addParam(ParamType.VECTOR3, 'normal', [0, 0, 0], {hidden: true});
output_child.params.addParam(ParamType.COLOR, 'color', [1, 1, 1], {hidden: true});
output_child.params.addParam(ParamType.VECTOR2, 'uv', [0, 0], {hidden: true});
}
add_output_inputs(output_child: OutputJsNode) {
PointsJsFunctionAssembler.add_output_inputs(output_child);
}
static create_globals_node_output_connections() {
return [
new JsConnectionPoint('position', JsConnectionPointType.VEC3),
new JsConnectionPoint('normal', JsConnectionPointType.VEC3),
new JsConnectionPoint('color', JsConnectionPointType.VEC3),
new JsConnectionPoint('uv', JsConnectionPointType.VEC2),
new JsConnectionPoint('time', JsConnectionPointType.FLOAT),
];
}
create_globals_node_output_connections() {
return PointsJsFunctionAssembler.create_globals_node_output_connections();
}
add_globals_outputs(globals_node: GlobalsJsNode) {
globals_node.io.outputs.setNamedOutputConnectionPoints(this.create_globals_node_output_connections());
}
}