2
0
Эх сурвалжийг харах

Nodes: AttributeNode `.defaultNode` as `defaultValue` (#28406)

sunag 1 жил өмнө
parent
commit
229120b735

+ 14 - 2
examples/jsm/nodes/core/AttributeNode.js

@@ -4,10 +4,12 @@ import { nodeObject } from '../shadernode/ShaderNode.js';
 
 class AttributeNode extends Node {
 
-	constructor( attributeName, nodeType = null ) {
+	constructor( attributeName, nodeType = null, defaultNode = null ) {
 
 		super( nodeType );
 
+		this.defaultNode = defaultNode;
+
 		this._attributeName = attributeName;
 
 	}
@@ -93,7 +95,17 @@ class AttributeNode extends Node {
 
 			console.warn( `AttributeNode: Vertex attribute "${ attributeName }" not found on geometry.` );
 
-			return builder.generateConst( nodeType );
+			const { defaultNode } = this;
+
+			if ( defaultNode !== null ) {
+
+				return defaultNode.build( builder, nodeType );
+
+			} else {
+
+				return builder.generateConst( nodeType );
+
+			}
 
 		}