فهرست منبع

Nodes: Fix `ConvertType` (#24967)

* Update ShaderNode.js

* Update JoinNode.js

* A fix for `color`

* Don't compute `defaultType` if not needed
Levi Pesin 2 سال پیش
والد
کامیت
4738e28802
2فایلهای تغییر یافته به همراه9 افزوده شده و 3 حذف شده
  1. 1 1
      examples/jsm/nodes/shadernode/ShaderNode.js
  2. 8 2
      examples/jsm/nodes/utils/JoinNode.js

+ 1 - 1
examples/jsm/nodes/shadernode/ShaderNode.js

@@ -253,7 +253,7 @@ export const ConvertType = function ( type, cacheMap = null ) {
 
 			}
 
-			return nodeObject( new ConvertNode( new JoinNode( nodes ), type ) );
+			return nodeObject( new JoinNode( nodes, type ) );
 
 		}
 

+ 8 - 2
examples/jsm/nodes/utils/JoinNode.js

@@ -2,9 +2,9 @@ import TempNode from '../core/Node.js';
 
 class JoinNode extends TempNode {
 
-	constructor( nodes = [] ) {
+	constructor( nodes = [], nodeType = null ) {
 
-		super();
+		super( nodeType );
 
 		this.nodes = nodes;
 
@@ -12,6 +12,12 @@ class JoinNode extends TempNode {
 
 	getNodeType( builder ) {
 
+		if ( this.nodeType !== null ) {
+
+			return builder.getVectorType( this.nodeType );
+
+		}
+
 		return builder.getTypeFromLength( this.nodes.reduce( ( count, cur ) => count + builder.getTypeLength( cur.getNodeType( builder ) ), 0 ) );
 
 	}