Browse Source

Made createRenderTargets method internal to DeferredHelper.

alteredq 12 years ago
parent
commit
46838948e9

+ 75 - 71
examples/js/DeferredHelper.js

@@ -214,77 +214,6 @@ THREE.DeferredHelper = function ( parameters ) {
 
 	};
 
-	this.createRenderTargets = function ( ) {
-
-		// g-buffers
-
-		var rtColor   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatNearest );
-		var rtNormal  = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
-		var rtDepth   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
-		var rtLight   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
-		var rtEmitter = new THREE.WebGLRenderTarget( width, height, rtParamsUByte );
-		var rtFinal   = new THREE.WebGLRenderTarget( width, height, rtParamsUByte );
-
-		rtColor.generateMipmaps = false;
-		rtNormal.generateMipmaps = false;
-		rtDepth.generateMipmaps = false;
-		rtLight.generateMipmaps = false;
-		rtEmitter.generateMipmaps = false;
-		rtFinal.generateMipmaps = false;
-
-		// composers
-
-		var passColor = new THREE.RenderPass( scene, camera );
-		compColor = new THREE.EffectComposer( renderer, rtColor );
-		compColor.addPass( passColor );
-
-		var passNormal = new THREE.RenderPass( scene, camera );
-		compNormal = new THREE.EffectComposer( renderer, rtNormal );
-		compNormal.addPass( passNormal );
-
-		var passDepth = new THREE.RenderPass( scene, camera );
-		compDepth = new THREE.EffectComposer( renderer, rtDepth );
-		compDepth.addPass( passDepth );
-
-		var passEmitter = new THREE.RenderPass( emitterScene, camera );
-		compEmitter = new THREE.EffectComposer( renderer, rtEmitter );
-		compEmitter.addPass( passEmitter );
-
-		var passLight = new THREE.RenderPass( lightScene, camera );
-		compLightBuffer = new THREE.EffectComposer( renderer, rtLight );
-		compLightBuffer.addPass( passLight );
-
-		//
-
-		lightShader.uniforms[ 'samplerColor' ].value = compColor.renderTarget2;
-		lightShader.uniforms[ 'samplerNormals' ].value = compNormal.renderTarget2;
-		lightShader.uniforms[ 'samplerDepth' ].value = compDepth.renderTarget2;
-		lightShader.uniforms[ 'samplerLightBuffer' ].value = rtLight;
-
-		compositeShader.uniforms[ 'samplerLightBuffer' ].value = compLightBuffer.renderTarget2;
-		compositeShader.uniforms[ 'samplerEmitter' ].value = compEmitter.renderTarget2;
-
-		// composite
-
-		var compositePass = new THREE.ShaderPass( compositeShader );
-		compositePass.needsSwap = true;
-
-		var effectFXAA = new THREE.ShaderPass( THREE.FXAAShader );
-		effectFXAA.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height );
-
-		var effectColor = new THREE.ShaderPass( THREE.ColorCorrectionShader );
-		effectColor.renderToScreen = true;
-
-		effectColor.uniforms[ 'powRGB' ].value.set( 1, 1, 1 );
-		effectColor.uniforms[ 'mulRGB' ].value.set( 2, 2, 2 );
-
-		compFinal = new THREE.EffectComposer( renderer, rtFinal );
-		compFinal.addPass( compositePass );
-		compFinal.addPass( effectFXAA );
-		compFinal.addPass( effectColor );
-
-	};
-
 	this.addDeferredLights = function ( lights, additiveSpecular ) {
 
 		var geometryEmitter = new THREE.SphereGeometry( 0.7, 7, 7 );
@@ -414,4 +343,79 @@ THREE.DeferredHelper = function ( parameters ) {
 
 	};
 
+	var createRenderTargets = function ( ) {
+
+		// g-buffers
+
+		var rtColor   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatNearest );
+		var rtNormal  = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
+		var rtDepth   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
+		var rtLight   = new THREE.WebGLRenderTarget( width, height, rtParamsFloatLinear );
+		var rtEmitter = new THREE.WebGLRenderTarget( width, height, rtParamsUByte );
+		var rtFinal   = new THREE.WebGLRenderTarget( width, height, rtParamsUByte );
+
+		rtColor.generateMipmaps = false;
+		rtNormal.generateMipmaps = false;
+		rtDepth.generateMipmaps = false;
+		rtLight.generateMipmaps = false;
+		rtEmitter.generateMipmaps = false;
+		rtFinal.generateMipmaps = false;
+
+		// composers
+
+		var passColor = new THREE.RenderPass( scene, camera );
+		compColor = new THREE.EffectComposer( renderer, rtColor );
+		compColor.addPass( passColor );
+
+		var passNormal = new THREE.RenderPass( scene, camera );
+		compNormal = new THREE.EffectComposer( renderer, rtNormal );
+		compNormal.addPass( passNormal );
+
+		var passDepth = new THREE.RenderPass( scene, camera );
+		compDepth = new THREE.EffectComposer( renderer, rtDepth );
+		compDepth.addPass( passDepth );
+
+		var passEmitter = new THREE.RenderPass( emitterScene, camera );
+		compEmitter = new THREE.EffectComposer( renderer, rtEmitter );
+		compEmitter.addPass( passEmitter );
+
+		var passLight = new THREE.RenderPass( lightScene, camera );
+		compLightBuffer = new THREE.EffectComposer( renderer, rtLight );
+		compLightBuffer.addPass( passLight );
+
+		//
+
+		lightShader.uniforms[ 'samplerColor' ].value = compColor.renderTarget2;
+		lightShader.uniforms[ 'samplerNormals' ].value = compNormal.renderTarget2;
+		lightShader.uniforms[ 'samplerDepth' ].value = compDepth.renderTarget2;
+		lightShader.uniforms[ 'samplerLightBuffer' ].value = rtLight;
+
+		compositeShader.uniforms[ 'samplerLightBuffer' ].value = compLightBuffer.renderTarget2;
+		compositeShader.uniforms[ 'samplerEmitter' ].value = compEmitter.renderTarget2;
+
+		// composite
+
+		var compositePass = new THREE.ShaderPass( compositeShader );
+		compositePass.needsSwap = true;
+
+		var effectFXAA = new THREE.ShaderPass( THREE.FXAAShader );
+		effectFXAA.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height );
+
+		var effectColor = new THREE.ShaderPass( THREE.ColorCorrectionShader );
+		effectColor.renderToScreen = true;
+
+		effectColor.uniforms[ 'powRGB' ].value.set( 1, 1, 1 );
+		effectColor.uniforms[ 'mulRGB' ].value.set( 2, 2, 2 );
+
+		compFinal = new THREE.EffectComposer( renderer, rtFinal );
+		compFinal.addPass( compositePass );
+		compFinal.addPass( effectFXAA );
+		compFinal.addPass( effectColor );
+
+	};
+
+	// init
+
+	createRenderTargets();
+
 };

+ 0 - 1
examples/webgl_lights_deferred_morphs.html

@@ -152,7 +152,6 @@
 				// deferred helper
 
 				deferredHelper = new THREE.DeferredHelper( { renderer: renderer, scene: scene, camera: camera, width: SCALED_WIDTH, height: SCALED_HEIGHT } );
-				deferredHelper.createRenderTargets();
 
 				// add lights
 

+ 0 - 1
examples/webgl_lights_deferred_pointlights.html

@@ -152,7 +152,6 @@
 				// deferred helper
 
 				deferredHelper = new THREE.DeferredHelper( { renderer: renderer, scene: scene, camera: camera, width: SCALED_WIDTH, height: SCALED_HEIGHT } );
-				deferredHelper.createRenderTargets();
 
 				// add lights