Browse Source

WebGLNodes: Fix usage with `overrideMaterial`. (#27097)

* WebGLNodes: Fix usage with `overrideMaterial`.

* follow the material choice by the renderer

* WebGLNodes: Simpify `onBuild()`.

---------

Co-authored-by: sunag <[email protected]>
Michael Herzog 1 year ago
parent
commit
834d77de40
1 changed files with 3 additions and 13 deletions
  1. 3 13
      examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js

+ 3 - 13
examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js

@@ -8,21 +8,11 @@ export const nodeFrame = new NodeFrame();
 
 Material.prototype.onBuild = function ( object, parameters, renderer ) {
 
-	if ( Array.isArray( object.material ) ) {
+	const material = this;
 
-		for ( const material of object.material ) {
+	if ( material.isNodeMaterial === true ) {
 
-			if ( material.isNodeMaterial === true ) {
-
-				builders.set( material, new WebGLNodeBuilder( object, renderer, parameters, material ).build() );
-
-			}
-
-		}
-
-	} else if ( object.material.isNodeMaterial === true ) {
-
-		builders.set( object.material, new WebGLNodeBuilder( object, renderer, parameters ).build() );
+		builders.set( material, new WebGLNodeBuilder( object, renderer, parameters, material ).build() );
 
 	}