@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.26 kB
JavaScript
;
import { BaseNodeGlMathFunctionArg1GlNode } from "./_BaseMathFunction";
import Quaternion from "./gl/quaternion.glsl";
import { GlConnectionPointType } from "../utils/io/connections/Gl";
import { FunctionGLDefinition } from "./utils/GLDefinition";
export class QuatSlerpGlNode extends BaseNodeGlMathFunctionArg1GlNode {
static type() {
return "quatSlerp";
}
initializeNode() {
super.initializeNode();
this.io.connection_points.set_input_name_function((index) => ["quat0", "quat1", "blend"][index]);
this.io.connection_points.set_expected_input_types_function(() => [
GlConnectionPointType.VEC4,
GlConnectionPointType.VEC4,
GlConnectionPointType.FLOAT
]);
this.io.connection_points.set_expected_output_types_function(() => [GlConnectionPointType.VEC4]);
}
// protected _gl_input_name(index: number) {
// return ['quat0', 'quat1'][index];
// }
gl_method_name() {
return "quatSlerp";
}
// protected _expected_input_types() {
// return [ConnectionPointType.VEC4, ConnectionPointType.VEC4];
// }
// protected _expected_output_types() {
// return [ConnectionPointType.VEC4];
// }
gl_function_definitions() {
return [new FunctionGLDefinition(this, Quaternion)];
}
}