浏览代码

SAOPass: Fix use of multiple instances

see https://github.com/mrdoob/three.js/issues/13370
Pascal Häusler 7 年之前
父节点
当前提交
e53ad7edd2
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      examples/js/postprocessing/SAOPass.js

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

@@ -74,7 +74,12 @@ THREE.SAOPass = function ( scene, camera, depthTexture, useNormals, resolution )
 
 
 	}
 	}
 
 
-	this.saoMaterial = new THREE.ShaderMaterial( THREE.SAOShader );
+	this.saoMaterial = new THREE.ShaderMaterial( {
+		defines: THREE.SAOShader.defines,
+		fragmentShader: THREE.SAOShader.fragmentShader,
+		vertexShader: THREE.SAOShader.vertexShader,
+		uniforms: THREE.UniformsUtils.clone( THREE.SAOShader.uniforms )
+	} );
 	this.saoMaterial.extensions.derivatives = true;
 	this.saoMaterial.extensions.derivatives = true;
 	this.saoMaterial.extensions.drawBuffers = true;
 	this.saoMaterial.extensions.drawBuffers = true;
 	this.saoMaterial.defines[ 'DEPTH_PACKING' ] = this.supportsDepthTextureExtension ? 0 : 1;
 	this.saoMaterial.defines[ 'DEPTH_PACKING' ] = this.supportsDepthTextureExtension ? 0 : 1;