浏览代码

Merge pull request #12304 from Astrak/outline-line-sprite

Outline line sprite
Mr.doob 7 年之前
父节点
当前提交
e0d8718a12
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      examples/js/postprocessing/OutlinePass.js

+ 6 - 1
examples/js/postprocessing/OutlinePass.js

@@ -186,7 +186,7 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype
 
 		function VisibilityChangeCallBack( object ) {
 
-			if ( object instanceof THREE.Mesh ) {
+			if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.Sprite ) {
 
 				var bFound = false;
 
@@ -249,6 +249,9 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype
 		// Make selected objects invisible
 		this.changeVisibilityOfSelectedObjects( false );
 
+		var bg = this.renderScene.background;
+		this.renderScene.background = null;
+
 		// 1. Draw Non Selected objects in the depth buffer
 		this.renderScene.overrideMaterial = this.depthMaterial;
 		renderer.render( this.renderScene, this.renderCamera, this.renderTargetDepthBuffer, true );
@@ -269,6 +272,8 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype
 		this.renderScene.overrideMaterial = null;
 		this.changeVisibilityOfNonSelectedObjects( true );
 
+		this.renderScene.background = bg;
+
 		// 2. Downsample to Half resolution
 		this.quad.material = this.materialCopy;
 		this.copyUniforms[ "tDiffuse" ].value = this.renderTargetMaskBuffer.texture;