diff --git a/examples/jsm/nodes/shadernode/ShaderNode.js b/examples/jsm/nodes/shadernode/ShaderNode.js index da17de52895208..6f5190e39876e9 100644 --- a/examples/jsm/nodes/shadernode/ShaderNode.js +++ b/examples/jsm/nodes/shadernode/ShaderNode.js @@ -4,7 +4,7 @@ import ConvertNode from '../utils/ConvertNode.js'; import JoinNode from '../utils/JoinNode.js'; import SplitNode from '../utils/SplitNode.js'; import ConstNode from '../core/ConstNode.js'; -import { getValueFromType } from '../core/NodeUtils.js'; +import { getValueFromType, getValueType } from '../core/NodeUtils.js'; const NodeElements = new Map(); // @TODO: Currently only a few nodes are added, probably also add others @@ -255,20 +255,6 @@ const getAutoTypedConstNode = ( value ) => { }; -const getTypeFromInputNode = ( node ) => { - - if ( node.isInputNode !== true || node.value === null ) return; - - const value = node.value; - - if ( value.isVector3 === true ) return 'vec3'; - if ( value.isVector4 === true ) return 'vec4'; - if ( value.isColor === true ) return 'color'; - if ( value.isMatrix3 === true ) return 'mat3'; - if ( value.isMatrix4 === true ) return 'mat4'; - -}; - const ConvertType = function ( type, cacheMap = null ) { return ( ...params ) => { @@ -295,7 +281,7 @@ const ConvertType = function ( type, cacheMap = null ) { if ( nodes.length === 1 ) { - return nodeObject( nodes[ 0 ].nodeType === type || getTypeFromInputNode( nodes[ 0 ] ) === type ? nodes[ 0 ] : new ConvertNode( nodes[ 0 ], type ) ); + return nodeObject( nodes[ 0 ].nodeType === type || getValueType( nodes[ 0 ].value ) === type ? nodes[ 0 ] : new ConvertNode( nodes[ 0 ], type ) ); }