2
0
Эх сурвалжийг харах

Merge pull request #16033 from Oletus/postprocessing-render-to-screen

Set Pass.renderToScreen automatically in EffectComposer
Mr.doob 6 жил өмнө
parent
commit
f364288726
41 өөрчлөгдсөн 25 нэмэгдсэн , 72 устгасан
  1. 20 1
      examples/js/postprocessing/EffectComposer.js
  2. 0 2
      examples/misc_controls_fly.html
  3. 0 1
      examples/webgl2_multisampled_renderbuffers.html
  4. 1 13
      examples/webgl_lightningstrike.html
  5. 0 1
      examples/webgl_loader_sea3d.html
  6. 0 1
      examples/webgl_loader_sea3d_bvh.html
  7. 0 1
      examples/webgl_loader_sea3d_bvh_retarget.html
  8. 0 1
      examples/webgl_loader_sea3d_hierarchy.html
  9. 0 1
      examples/webgl_loader_sea3d_keyframe.html
  10. 0 1
      examples/webgl_loader_sea3d_morph.html
  11. 0 1
      examples/webgl_loader_sea3d_physics.html
  12. 0 1
      examples/webgl_loader_sea3d_skinning.html
  13. 0 1
      examples/webgl_loader_sea3d_sound.html
  14. 0 2
      examples/webgl_materials_bumpmap_skin.html
  15. 0 2
      examples/webgl_materials_normalmap.html
  16. 4 4
      examples/webgl_materials_skin.html
  17. 0 2
      examples/webgl_materials_video.html
  18. 0 2
      examples/webgl_points_dynamic.html
  19. 0 1
      examples/webgl_postprocessing.html
  20. 0 7
      examples/webgl_postprocessing_advanced.html
  21. 0 1
      examples/webgl_postprocessing_afterimage.html
  22. 0 1
      examples/webgl_postprocessing_backgrounds.html
  23. 0 2
      examples/webgl_postprocessing_dof.html
  24. 0 2
      examples/webgl_postprocessing_fxaa.html
  25. 0 1
      examples/webgl_postprocessing_glitch.html
  26. 0 1
      examples/webgl_postprocessing_masking.html
  27. 0 1
      examples/webgl_postprocessing_nodes_pass.html
  28. 0 1
      examples/webgl_postprocessing_outline.html
  29. 0 1
      examples/webgl_postprocessing_pixel.html
  30. 0 1
      examples/webgl_postprocessing_rgb_halftone.html
  31. 0 1
      examples/webgl_postprocessing_sao.html
  32. 0 1
      examples/webgl_postprocessing_smaa.html
  33. 0 1
      examples/webgl_postprocessing_sobel.html
  34. 0 1
      examples/webgl_postprocessing_ssaa.html
  35. 0 2
      examples/webgl_postprocessing_ssaa_unbiased.html
  36. 0 1
      examples/webgl_postprocessing_ssao.html
  37. 0 1
      examples/webgl_postprocessing_taa.html
  38. 0 1
      examples/webgl_postprocessing_unreal_bloom.html
  39. 0 2
      examples/webgl_shader_lava.html
  40. 0 2
      examples/webgl_shaders_tonemapping.html
  41. 0 1
      examples/webgl_tonemapping.html

+ 20 - 1
examples/js/postprocessing/EffectComposer.js

@@ -28,6 +28,8 @@ THREE.EffectComposer = function ( renderer, renderTarget ) {
 	this.writeBuffer = this.renderTarget1;
 	this.writeBuffer = this.renderTarget1;
 	this.readBuffer = this.renderTarget2;
 	this.readBuffer = this.renderTarget2;
 
 
+	this.renderToScreen = true;
+
 	this.passes = [];
 	this.passes = [];
 
 
 	// dependencies
 	// dependencies
@@ -75,6 +77,22 @@ Object.assign( THREE.EffectComposer.prototype, {
 
 
 	},
 	},
 
 
+	isLastEnabledPass: function ( passIndex ) {
+
+		for ( var i = passIndex + 1; i < this.passes.length; i ++ ) {
+
+			if ( this.passes[i].enabled ) {
+
+				return false;
+
+			}
+
+		}
+
+		return true;
+
+	},
+
 	render: function ( deltaTime ) {
 	render: function ( deltaTime ) {
 
 
 		// deltaTime value is in seconds
 		// deltaTime value is in seconds
@@ -99,6 +117,7 @@ Object.assign( THREE.EffectComposer.prototype, {
 
 
 			if ( pass.enabled === false ) continue;
 			if ( pass.enabled === false ) continue;
 
 
+			pass.renderToScreen = ( this.renderToScreen && this.isLastEnabledPass( i ) );
 			pass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime, maskActive );
 			pass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime, maskActive );
 
 
 			if ( pass.needsSwap ) {
 			if ( pass.needsSwap ) {
@@ -187,7 +206,7 @@ THREE.Pass = function () {
 	// if set to true, the pass clears its buffer before rendering
 	// if set to true, the pass clears its buffer before rendering
 	this.clear = false;
 	this.clear = false;
 
 
-	// if set to true, the result of the pass is rendered to screen
+	// if set to true, the result of the pass is rendered to screen. This is set automatically by EffectComposer.
 	this.renderToScreen = false;
 	this.renderToScreen = false;
 
 
 };
 };

+ 0 - 2
examples/misc_controls_fly.html

@@ -240,8 +240,6 @@
 				var renderModel = new THREE.RenderPass( scene, camera );
 				var renderModel = new THREE.RenderPass( scene, camera );
 				var effectFilm = new THREE.FilmPass( 0.35, 0.75, 2048, false );
 				var effectFilm = new THREE.FilmPass( 0.35, 0.75, 2048, false );
 
 
-				effectFilm.renderToScreen = true;
-
 				composer = new THREE.EffectComposer( renderer );
 				composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderModel );
 				composer.addPass( renderModel );

+ 0 - 1
examples/webgl2_multisampled_renderbuffers.html

@@ -135,7 +135,6 @@
 
 
 				var renderPass = new THREE.RenderPass( scene, camera );
 				var renderPass = new THREE.RenderPass( scene, camera );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 
 
 				//
 				//
 
 

+ 1 - 13
examples/webgl_lightningstrike.html

@@ -256,7 +256,6 @@
 				outlinePass.edgeThickness = 2.8;
 				outlinePass.edgeThickness = 2.8;
 				outlinePass.visibleEdgeColor = visibleColor;
 				outlinePass.visibleEdgeColor = visibleColor;
 				outlinePass.hiddenEdgeColor.set( 0 );
 				outlinePass.hiddenEdgeColor.set( 0 );
-				outlinePass.renderToScreen = true;
 				composer.addPass( outlinePass );
 				composer.addPass( outlinePass );
 
 
 				scene.userData.outlineEnabled = true;
 				scene.userData.outlineEnabled = true;
@@ -580,18 +579,7 @@
 
 
 					controls.update();
 					controls.update();
 
 
-					if ( scene.userData.outlineEnabled ) {
-
-						outlinePass.enabled = true;
-						rayPass.renderToScreen = false;
-
-					}
-					else {
-
-						outlinePass.enabled = false;
-						rayPass.renderToScreen = true;
-
-					}
+					outlinePass.enabled = scene.userData.outlineEnabled;
 
 
 					composer.render();
 					composer.render();
 
 

+ 0 - 1
examples/webgl_loader_sea3d.html

@@ -146,7 +146,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_bvh.html

@@ -262,7 +262,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_bvh_retarget.html

@@ -211,7 +211,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_hierarchy.html

@@ -154,7 +154,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				// events
 				// events

+ 0 - 1
examples/webgl_loader_sea3d_keyframe.html

@@ -184,7 +184,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_morph.html

@@ -150,7 +150,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_physics.html

@@ -177,7 +177,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_skinning.html

@@ -198,7 +198,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 1
examples/webgl_loader_sea3d_sound.html

@@ -349,7 +349,6 @@
 				composer.addPass( vignettePass );
 				composer.addPass( vignettePass );
 
 
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
-				copyPass.renderToScreen = true;
 
 
 				// events
 				// events
 
 

+ 0 - 2
examples/webgl_materials_bumpmap_skin.html

@@ -134,8 +134,6 @@
 				var effectBeckmann = new THREE.ShaderPass( THREE.ShaderSkin[ "beckmann" ] );
 				var effectBeckmann = new THREE.ShaderPass( THREE.ShaderSkin[ "beckmann" ] );
 				var effectCopy = new THREE.ShaderPass( THREE.CopyShader );
 				var effectCopy = new THREE.ShaderPass( THREE.CopyShader );
 
 
-				effectCopy.renderToScreen = true;
-
 				var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false };
 				var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false };
 				var rtwidth = 512, rtheight = 512;
 				var rtwidth = 512, rtheight = 512;
 
 

+ 0 - 2
examples/webgl_materials_normalmap.html

@@ -171,8 +171,6 @@
 				effectColor.uniforms[ 'powRGB' ].value.set( 1.4, 1.45, 1.45 );
 				effectColor.uniforms[ 'powRGB' ].value.set( 1.4, 1.45, 1.45 );
 				effectColor.uniforms[ 'mulRGB' ].value.set( 1.1, 1.1, 1.1 );
 				effectColor.uniforms[ 'mulRGB' ].value.set( 1.1, 1.1, 1.1 );
 
 
-				effectColor.renderToScreen = true;
-
 				composer = new THREE.EffectComposer( renderer );
 				composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderModel );
 				composer.addPass( renderModel );

+ 4 - 4
examples/webgl_materials_skin.html

@@ -186,8 +186,6 @@
 
 
 				var renderModelUV = new THREE.RenderPass( scene, camera, materialUV, new THREE.Color( 0x575757 ) );
 				var renderModelUV = new THREE.RenderPass( scene, camera, materialUV, new THREE.Color( 0x575757 ) );
 
 
-				var effectCopy = new THREE.ShaderPass( THREE.CopyShader );
-
 				var effectBloom1 = new THREE.BloomPass( 1, 15, 2, 512 );
 				var effectBloom1 = new THREE.BloomPass( 1, 15, 2, 512 );
 				var effectBloom2 = new THREE.BloomPass( 1, 25, 3, 512 );
 				var effectBloom2 = new THREE.BloomPass( 1, 25, 3, 512 );
 				var effectBloom3 = new THREE.BloomPass( 1, 25, 4, 512 );
 				var effectBloom3 = new THREE.BloomPass( 1, 25, 4, 512 );
@@ -196,8 +194,6 @@
 				effectBloom2.clear = true;
 				effectBloom2.clear = true;
 				effectBloom3.clear = true;
 				effectBloom3.clear = true;
 
 
-				effectCopy.renderToScreen = true;
-
 				//
 				//
 
 
 				var pars = {
 				var pars = {
@@ -215,6 +211,7 @@
 
 
 				composer = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 				composer = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 				composer.addPass( renderModelUV );
 				composer.addPass( renderModelUV );
+				composer.renderToScreen = false;
 
 
 				var renderScene = new THREE.TexturePass( composer.renderTarget2.texture );
 				var renderScene = new THREE.TexturePass( composer.renderTarget2.texture );
 
 
@@ -224,16 +221,19 @@
 
 
 				composerUV1.addPass( renderScene );
 				composerUV1.addPass( renderScene );
 				composerUV1.addPass( effectBloom1 );
 				composerUV1.addPass( effectBloom1 );
+				composerUV1.renderToScreen = false;
 
 
 				composerUV2 = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 				composerUV2 = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 
 
 				composerUV2.addPass( renderScene );
 				composerUV2.addPass( renderScene );
 				composerUV2.addPass( effectBloom2 );
 				composerUV2.addPass( effectBloom2 );
+				composerUV2.renderToScreen = false;
 
 
 				composerUV3 = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 				composerUV3 = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtwidth, rtheight, pars ) );
 
 
 				composerUV3.addPass( renderScene );
 				composerUV3.addPass( renderScene );
 				composerUV3.addPass( effectBloom3 );
 				composerUV3.addPass( effectBloom3 );
+				composerUV3.renderToScreen = false;
 
 
 				//
 				//
 
 

+ 0 - 2
examples/webgl_materials_video.html

@@ -223,8 +223,6 @@
 				var effectBloom = new THREE.BloomPass( 1.3 );
 				var effectBloom = new THREE.BloomPass( 1.3 );
 				var effectCopy = new THREE.ShaderPass( THREE.CopyShader );
 				var effectCopy = new THREE.ShaderPass( THREE.CopyShader );
 
 
-				effectCopy.renderToScreen = true;
-
 				composer = new THREE.EffectComposer( renderer );
 				composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderModel );
 				composer.addPass( renderModel );

+ 0 - 2
examples/webgl_points_dynamic.html

@@ -138,8 +138,6 @@
 				effectFocus.uniforms[ "screenWidth" ].value = window.innerWidth;
 				effectFocus.uniforms[ "screenWidth" ].value = window.innerWidth;
 				effectFocus.uniforms[ "screenHeight" ].value = window.innerHeight;
 				effectFocus.uniforms[ "screenHeight" ].value = window.innerHeight;
 
 
-				effectFocus.renderToScreen = true;
-
 				composer = new THREE.EffectComposer( renderer );
 				composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderModel );
 				composer.addPass( renderModel );

+ 0 - 1
examples/webgl_postprocessing.html

@@ -82,7 +82,6 @@
 
 
 				var effect = new THREE.ShaderPass( THREE.RGBShiftShader );
 				var effect = new THREE.ShaderPass( THREE.RGBShiftShader );
 				effect.uniforms[ 'amount' ].value = 0.0015;
 				effect.uniforms[ 'amount' ].value = 0.0015;
-				effect.renderToScreen = true;
 				composer.addPass( effect );
 				composer.addPass( effect );
 
 
 				//
 				//

+ 0 - 7
examples/webgl_postprocessing_advanced.html

@@ -206,13 +206,6 @@
 
 
 				renderMaskInverse.inverse = true;
 				renderMaskInverse.inverse = true;
 
 
-				//effectFilm.renderToScreen = true;
-				//effectFilmBW.renderToScreen = true;
-				//effectDotScreen.renderToScreen = true;
-				//effectBleach.renderToScreen = true;
-				effectVignette.renderToScreen = true;
-				//effectCopy.renderToScreen = true;
-
 				//
 				//
 
 
 				var rtParameters = {
 				var rtParameters = {

+ 0 - 1
examples/webgl_postprocessing_afterimage.html

@@ -68,7 +68,6 @@
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 
 
 				afterimagePass = new THREE.AfterimagePass();
 				afterimagePass = new THREE.AfterimagePass();
-				afterimagePass.renderToScreen = true;
 				composer.addPass( afterimagePass );
 				composer.addPass( afterimagePass );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );

+ 0 - 1
examples/webgl_postprocessing_backgrounds.html

@@ -215,7 +215,6 @@
 				composer.addPass( renderPass );
 				composer.addPass( renderPass );
 
 
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				var controls = new THREE.OrbitControls( cameraP, renderer.domElement );
 				var controls = new THREE.OrbitControls( cameraP, renderer.domElement );

+ 0 - 2
examples/webgl_postprocessing_dof.html

@@ -258,8 +258,6 @@
 					height: height
 					height: height
 				} );
 				} );
 
 
-				bokehPass.renderToScreen = true;
-
 				var composer = new THREE.EffectComposer( renderer );
 				var composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderPass );
 				composer.addPass( renderPass );

+ 0 - 2
examples/webgl_postprocessing_fxaa.html

@@ -136,7 +136,6 @@
 				//
 				//
 
 
 				fxaaPass = new THREE.ShaderPass( THREE.FXAAShader );
 				fxaaPass = new THREE.ShaderPass( THREE.FXAAShader );
-				fxaaPass.renderToScreen = true;
 
 
 				var pixelRatio = renderer.getPixelRatio();
 				var pixelRatio = renderer.getPixelRatio();
 
 
@@ -150,7 +149,6 @@
 				//
 				//
 
 
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 
 
 				composer2 = new THREE.EffectComposer( renderer );
 				composer2 = new THREE.EffectComposer( renderer );
 				composer2.addPass( renderPass );
 				composer2.addPass( renderPass );

+ 0 - 1
examples/webgl_postprocessing_glitch.html

@@ -103,7 +103,6 @@
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 
 
 				glitchPass = new THREE.GlitchPass();
 				glitchPass = new THREE.GlitchPass();
-				glitchPass.renderToScreen = true;
 				composer.addPass( glitchPass );
 				composer.addPass( glitchPass );
 
 
 
 

+ 0 - 1
examples/webgl_postprocessing_masking.html

@@ -81,7 +81,6 @@
 				var texturePass2 = new THREE.TexturePass( texture2 );
 				var texturePass2 = new THREE.TexturePass( texture2 );
 
 
 				var outputPass = new THREE.ShaderPass( THREE.CopyShader );
 				var outputPass = new THREE.ShaderPass( THREE.CopyShader );
-				outputPass.renderToScreen = true;
 
 
 				var parameters = {
 				var parameters = {
 					minFilter: THREE.LinearFilter,
 					minFilter: THREE.LinearFilter,

+ 0 - 1
examples/webgl_postprocessing_nodes_pass.html

@@ -516,7 +516,6 @@
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 
 
 				nodepass = new NodePass();
 				nodepass = new NodePass();
-				nodepass.renderToScreen = true;
 
 
 				composer.addPass( nodepass );
 				composer.addPass( nodepass );
 
 

+ 0 - 1
examples/webgl_postprocessing_outline.html

@@ -298,7 +298,6 @@
 
 
 				effectFXAA = new THREE.ShaderPass( THREE.FXAAShader );
 				effectFXAA = new THREE.ShaderPass( THREE.FXAAShader );
 				effectFXAA.uniforms[ 'resolution' ].value.set( 1 / window.innerWidth, 1 / window.innerHeight );
 				effectFXAA.uniforms[ 'resolution' ].value.set( 1 / window.innerWidth, 1 / window.innerHeight );
-				effectFXAA.renderToScreen = true;
 				composer.addPass( effectFXAA );
 				composer.addPass( effectFXAA );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );

+ 0 - 1
examples/webgl_postprocessing_pixel.html

@@ -147,7 +147,6 @@
 				pixelPass = new THREE.ShaderPass( THREE.PixelShader );
 				pixelPass = new THREE.ShaderPass( THREE.PixelShader );
 				pixelPass.uniforms[ "resolution" ].value = new THREE.Vector2( window.innerWidth, window.innerHeight );
 				pixelPass.uniforms[ "resolution" ].value = new THREE.Vector2( window.innerWidth, window.innerHeight );
 				pixelPass.uniforms[ "resolution" ].value.multiplyScalar( window.devicePixelRatio );
 				pixelPass.uniforms[ "resolution" ].value.multiplyScalar( window.devicePixelRatio );
-				pixelPass.renderToScreen = true;
 				composer.addPass( pixelPass );
 				composer.addPass( pixelPass );
 
 
 				window.addEventListener( 'resize', resize );
 				window.addEventListener( 'resize', resize );

+ 0 - 1
examples/webgl_postprocessing_rgb_halftone.html

@@ -149,7 +149,6 @@
 			disable: false
 			disable: false
 		};
 		};
 		halftonePass = new THREE.HalftonePass( window.innerWidth, window.innerHeight, params );
 		halftonePass = new THREE.HalftonePass( window.innerWidth, window.innerHeight, params );
-		halftonePass.renderToScreen = true;
 		composer.addPass( renderPass );
 		composer.addPass( renderPass );
 		composer.addPass( halftonePass );
 		composer.addPass( halftonePass );
 
 

+ 0 - 1
examples/webgl_postprocessing_sao.html

@@ -139,7 +139,6 @@
 				renderPass = new THREE.RenderPass( scene, camera );
 				renderPass = new THREE.RenderPass( scene, camera );
 				composer.addPass( renderPass );
 				composer.addPass( renderPass );
 				saoPass = new THREE.SAOPass( scene, camera, false, true );
 				saoPass = new THREE.SAOPass( scene, camera, false, true );
-				saoPass.renderToScreen = true;
 				composer.addPass( saoPass );
 				composer.addPass( saoPass );
 
 
 				// Init gui
 				// Init gui

+ 0 - 1
examples/webgl_postprocessing_smaa.html

@@ -77,7 +77,6 @@
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 				composer.addPass( new THREE.RenderPass( scene, camera ) );
 
 
 				pass = new THREE.SMAAPass( window.innerWidth * renderer.getPixelRatio(), window.innerHeight * renderer.getPixelRatio() );
 				pass = new THREE.SMAAPass( window.innerWidth * renderer.getPixelRatio(), window.innerHeight * renderer.getPixelRatio() );
-				pass.renderToScreen = true;
 				composer.addPass( pass );
 				composer.addPass( pass );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );

+ 0 - 1
examples/webgl_postprocessing_sobel.html

@@ -118,7 +118,6 @@
 				// Sobel operator
 				// Sobel operator
 
 
 				effectSobel = new THREE.ShaderPass( THREE.SobelOperatorShader );
 				effectSobel = new THREE.ShaderPass( THREE.SobelOperatorShader );
-				effectSobel.renderToScreen = true;
 				effectSobel.uniforms[ "resolution" ].value.x = window.innerWidth;
 				effectSobel.uniforms[ "resolution" ].value.x = window.innerWidth;
 				effectSobel.uniforms[ "resolution" ].value.y = window.innerHeight;
 				effectSobel.uniforms[ "resolution" ].value.y = window.innerHeight;
 				composer.addPass( effectSobel );
 				composer.addPass( effectSobel );

+ 0 - 1
examples/webgl_postprocessing_ssaa.html

@@ -128,7 +128,6 @@
 				composer.addPass( ssaaRenderPass );
 				composer.addPass( ssaaRenderPass );
 
 
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );

+ 0 - 2
examples/webgl_postprocessing_ssaa_unbiased.html

@@ -182,7 +182,6 @@
 				ssaaRenderPassO = new THREE.SSAARenderPass( scene, cameraO );
 				ssaaRenderPassO = new THREE.SSAARenderPass( scene, cameraO );
 				composer.addPass( ssaaRenderPassO );
 				composer.addPass( ssaaRenderPassO );
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );
@@ -251,7 +250,6 @@
 				ssaaRenderPassP.enabled = ( params.camera === 'perspective' );
 				ssaaRenderPassP.enabled = ( params.camera === 'perspective' );
 				ssaaRenderPassO.enabled = ( params.camera === 'orthographic' );
 				ssaaRenderPassO.enabled = ( params.camera === 'orthographic' );
 
 
-				ssaaRenderPassP.renderToScreen = ssaaRenderPassO.renderToScreen = params.renderToScreen;
 				copyPass.enabled = ! params.renderToScreen;
 				copyPass.enabled = ! params.renderToScreen;
 
 
 				composer.render();
 				composer.render();

+ 0 - 1
examples/webgl_postprocessing_ssao.html

@@ -127,7 +127,6 @@
 
 
 				ssaoPass = new THREE.SSAOPass( scene, camera, width, height );
 				ssaoPass = new THREE.SSAOPass( scene, camera, width, height );
 				ssaoPass.kernelRadius = 16;
 				ssaoPass.kernelRadius = 16;
-				ssaoPass.renderToScreen = true;
 
 
 				effectComposer = new THREE.EffectComposer( renderer );
 				effectComposer = new THREE.EffectComposer( renderer );
 				effectComposer.addPass( ssaoPass );
 				effectComposer.addPass( ssaoPass );

+ 0 - 1
examples/webgl_postprocessing_taa.html

@@ -157,7 +157,6 @@
 				composer.addPass( renderPass );
 				composer.addPass( renderPass );
 
 
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				copyPass = new THREE.ShaderPass( THREE.CopyShader );
-		    copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				window.addEventListener( 'resize', onWindowResize, false );
 				window.addEventListener( 'resize', onWindowResize, false );

+ 0 - 1
examples/webgl_postprocessing_unreal_bloom.html

@@ -104,7 +104,6 @@
 			var renderScene = new THREE.RenderPass( scene, camera );
 			var renderScene = new THREE.RenderPass( scene, camera );
 
 
 			var bloomPass = new THREE.UnrealBloomPass( new THREE.Vector2( window.innerWidth, window.innerHeight ), 1.5, 0.4, 0.85 );
 			var bloomPass = new THREE.UnrealBloomPass( new THREE.Vector2( window.innerWidth, window.innerHeight ), 1.5, 0.4, 0.85 );
-			bloomPass.renderToScreen = true;
 			bloomPass.threshold = params.bloomThreshold;
 			bloomPass.threshold = params.bloomThreshold;
 			bloomPass.strength = params.bloomStrength;
 			bloomPass.strength = params.bloomStrength;
 			bloomPass.radius = params.bloomRadius;
 			bloomPass.radius = params.bloomRadius;

+ 0 - 2
examples/webgl_shader_lava.html

@@ -183,8 +183,6 @@
 				var effectBloom = new THREE.BloomPass( 1.25 );
 				var effectBloom = new THREE.BloomPass( 1.25 );
 				var effectFilm = new THREE.FilmPass( 0.35, 0.95, 2048, false );
 				var effectFilm = new THREE.FilmPass( 0.35, 0.95, 2048, false );
 
 
-				effectFilm.renderToScreen = true;
-
 				composer = new THREE.EffectComposer( renderer );
 				composer = new THREE.EffectComposer( renderer );
 
 
 				composer.addPass( renderModel );
 				composer.addPass( renderModel );

+ 0 - 2
examples/webgl_shaders_tonemapping.html

@@ -368,7 +368,6 @@
 				hdrToneMappingPass = new THREE.AdaptiveToneMappingPass( false, 256 );
 				hdrToneMappingPass = new THREE.AdaptiveToneMappingPass( false, 256 );
 				bloomPass = new THREE.BloomPass();
 				bloomPass = new THREE.BloomPass();
 				var gammaCorrectionPass = new THREE.ShaderPass( THREE.GammaCorrectionShader );
 				var gammaCorrectionPass = new THREE.ShaderPass( THREE.GammaCorrectionShader );
-				gammaCorrectionPass.renderToScreen = true;
 
 
 				dynamicHdrEffectComposer.addPass( skyboxPass );
 				dynamicHdrEffectComposer.addPass( skyboxPass );
 				dynamicHdrEffectComposer.addPass( scenePass );
 				dynamicHdrEffectComposer.addPass( scenePass );
@@ -390,7 +389,6 @@
 				ldrEffectComposer.addPass( gammaCorrectionPass );
 				ldrEffectComposer.addPass( gammaCorrectionPass );
 
 
 				// var gammaPass = new THREE.ShaderPass( GammaShader );
 				// var gammaPass = new THREE.ShaderPass( GammaShader );
-				// gammaPass.renderToScreen = true;
 				// ldrEffectComposer.addPass( gammaPass );
 				// ldrEffectComposer.addPass( gammaPass );
 
 
 				var gui = new dat.GUI();
 				var gui = new dat.GUI();

+ 0 - 1
examples/webgl_tonemapping.html

@@ -215,7 +215,6 @@
 				composer.addPass( renderScene );
 				composer.addPass( renderScene );
 
 
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
 				var copyPass = new THREE.ShaderPass( THREE.CopyShader );
-				copyPass.renderToScreen = true;
 				composer.addPass( copyPass );
 				composer.addPass( copyPass );
 
 
 				stats = new Stats();
 				stats = new Stats();