瀏覽代碼

Fixed RenderPass discarding the scene overrideMaterial if no overrideMaterial is passed

Benjamin MICHEL 5 年之前
父節點
當前提交
ccd6da5773
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      examples/js/postprocessing/RenderPass.js

+ 8 - 2
examples/js/postprocessing/RenderPass.js

@@ -29,7 +29,13 @@ THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype
 		var oldAutoClear = renderer.autoClear;
 		var oldAutoClear = renderer.autoClear;
 		renderer.autoClear = false;
 		renderer.autoClear = false;
 
 
-		this.scene.overrideMaterial = this.overrideMaterial;
+		var oldOverrideMaterial = this.scene.overrideMaterial;
+
+		if ( this.overrideMaterial !== undefined ) {
+
+			this.scene.overrideMaterial = this.overrideMaterial;
+
+		}
 
 
 		var oldClearColor, oldClearAlpha;
 		var oldClearColor, oldClearAlpha;
 
 
@@ -60,7 +66,7 @@ THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype
 
 
 		}
 		}
 
 
-		this.scene.overrideMaterial = null;
+		this.scene.overrideMaterial = oldOverrideMaterial;
 		renderer.autoClear = oldAutoClear;
 		renderer.autoClear = oldAutoClear;
 
 
 	}
 	}