Browse Source

SAOPass: Fix use of multiple instances

see https://github.com/mrdoob/three.js/issues/13370
Pascal Häusler 7 years ago
parent
commit
e53ad7edd2
1 changed files with 6 additions and 1 deletions
  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.drawBuffers = true;
 	this.saoMaterial.defines[ 'DEPTH_PACKING' ] = this.supportsDepthTextureExtension ? 0 : 1;