Browse Source

Clean up.

Mr.doob 9 năm trước cách đây
mục cha
commit
2ea4c7beb8

+ 96 - 148
examples/js/postprocessing/MSAAPass.js

@@ -4,60 +4,62 @@
 
 THREE.MSAAPass = function ( scene, camera, params ) {
 
-  this.scene = scene;
-  this.camera = camera;
+	this.scene = scene;
+	this.camera = camera;
 
-  this.sampleLevel = 4; // specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16.
+	this.sampleLevel = 4; // specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16.
 
-  this.params = params || { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBAFormat };
-  this.params.minFilter = THREE.NearestFilter;
-  this.params.maxFilter = THREE.NearestFilter;
-  console.log( 'this.params', this.params );
-  this.enabled = true;
+	this.params = params || { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter, format: THREE.RGBAFormat };
+	this.params.minFilter = THREE.NearestFilter;
+	this.params.maxFilter = THREE.NearestFilter;
+	console.log( 'this.params', this.params );
+	this.enabled = true;
 
-  this.needsSwap = true;
+	this.needsSwap = true;
+
+	if ( THREE.CompositeShader === undefined ) {
 
-  if ( THREE.CompositeShader === undefined ) {
 		console.error( "THREE.MSAAPass relies on THREE.CompositeShader" );
+
 	}
 
-  var compositeShader = THREE.CompositeShader;
-  this.uniforms = THREE.UniformsUtils.clone( compositeShader.uniforms );
+	var compositeShader = THREE.CompositeShader;
+	this.uniforms = THREE.UniformsUtils.clone( compositeShader.uniforms );
 
-  this.materialComposite = new THREE.ShaderMaterial(  {
+	this.materialComposite = new THREE.ShaderMaterial(	{
 
 		uniforms: this.uniforms,
 		vertexShader: compositeShader.vertexShader,
 		fragmentShader: compositeShader.fragmentShader,
-    transparent: true,
-    blending: THREE.CustomBlending,
-    blendSrc: THREE.OneFactor,
-    blendDst: THREE.OneMinusSrcAlphaFactor,
-    blendEquation: THREE.AddEquation,
-    depthTest: false,
-    depthWrite: false
+		transparent: true,
+		blending: THREE.CustomBlending,
+		blendSrc: THREE.OneFactor,
+		blendDst: THREE.OneMinusSrcAlphaFactor,
+		blendEquation: THREE.AddEquation,
+		depthTest: false,
+		depthWrite: false
 
 	} );
 
-  this.camera2 = new THREE.OrthographicCamera( -1, 1, 1, -1, 0, 1 );
-  this.scene2  = new THREE.Scene();
-  this.quad2 = new THREE.Mesh( new THREE.PlaneGeometry( 2, 2 ), this.materialComposite );
-  this.scene2.add( this.quad2 );
+	this.camera2 = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 );
+	this.scene2	= new THREE.Scene();
+	this.quad2 = new THREE.Mesh( new THREE.PlaneGeometry( 2, 2 ), this.materialComposite );
+	this.scene2.add( this.quad2 );
 
 };
 
 THREE.MSAAPass.prototype = {
 
-  dispose: function() {
+	dispose: function() {
 
-    if( this.sampleRenderTarget ) {
+		if ( this.sampleRenderTarget ) {
 
-      this.sampleRenderTarget.dispose();
-      this.sampleRenderTarget = null;
+			this.sampleRenderTarget.dispose();
+			this.sampleRenderTarget = null;
 
-    }
+		}
 
-  },
+	},
 
 
 	setSize: function ( width, height ) {
@@ -66,67 +68,68 @@ THREE.MSAAPass.prototype = {
 
 	},
 
-  render: function ( renderer, writeBuffer, readBuffer, delta ) {
+	render: function ( renderer, writeBuffer, readBuffer, delta ) {
 
-    if( ! this.sampleRenderTarget ) {
+		if ( ! this.sampleRenderTarget ) {
 
-      this.sampleRenderTarget = new THREE.WebGLRenderTarget( readBuffer.width, readBuffer.height, this.params, "msaa.renderTarget0" );
+			this.sampleRenderTarget = new THREE.WebGLRenderTarget( readBuffer.width, readBuffer.height, this.params, "msaa.renderTarget0" );
 
-    }
+		}
 
-    var camera = ( this.camera || this.scene.camera );
+		var camera = ( this.camera || this.scene.camera );
 
-    var jitterOffsets = THREE.MSAAPass.JitterVectors[ Math.max( 0, Math.min( this.sampleLevel, 5 ) ) ];
+		var jitterOffsets = THREE.MSAAPass.JitterVectors[ Math.max( 0, Math.min( this.sampleLevel, 5 ) ) ];
 
-    var autoClear = renderer.autoClear;
-    renderer.autoClear = false;
+		var autoClear = renderer.autoClear;
+		renderer.autoClear = false;
 
-    this.uniforms[ "tForeground" ].value = this.sampleRenderTarget;
+		this.uniforms[ "tForeground" ].value = this.sampleRenderTarget;
 
-    // render the scene multiple times, each slightly jitter offset from the last and accumulate the results.
-    for( var i = 0; i < jitterOffsets.length; i ++ ) {
+		// render the scene multiple times, each slightly jitter offset from the last and accumulate the results.
+		for ( var i = 0; i < jitterOffsets.length; i ++ ) {
 
-      // only jitters perspective cameras.  TODO: add support for jittering orthogonal cameras
-      if( camera.setViewOffset ) camera.setViewOffset( readBuffer.width, readBuffer.height, jitterOffsets[i].x, jitterOffsets[i].y, readBuffer.width, readBuffer.height );
+			// only jitters perspective cameras.	TODO: add support for jittering orthogonal cameras
+			if ( camera.setViewOffset ) camera.setViewOffset( readBuffer.width, readBuffer.height, jitterOffsets[ i ].x, jitterOffsets[ i ].y, readBuffer.width, readBuffer.height );
 
-      // on first sample, no need to accumulate
-      if( i == 0 ) {
+			// on first sample, no need to accumulate
+			if ( i == 0 ) {
 
-        renderer.render( this.scene, camera, writeBuffer, true );
+				renderer.render( this.scene, camera, writeBuffer, true );
 
-      }
-      else {
+			}
+			else {
 
-        renderer.render( this.scene, camera, this.sampleRenderTarget, true );
+				renderer.render( this.scene, camera, this.sampleRenderTarget, true );
 
-        // this accumulation strategy is used to prevent decimation at low bit depths with lots of samples.
-        this.uniforms[ "scale" ].value = 1.0 / ( i + 1 );
+				// this accumulation strategy is used to prevent decimation at low bit depths with lots of samples.
+				this.uniforms[ "scale" ].value = 1.0 / ( i + 1 );
 
-        renderer.render( this.scene2, this.camera2, writeBuffer, false );
+				renderer.render( this.scene2, this.camera2, writeBuffer, false );
 
-      }
+			}
 
-    }
+		}
 
-    // reset jitter to nothing.  TODO: add support for orthogonal cameras
-    if( camera.setViewOffset ) camera.setViewOffset( undefined, undefined, undefined, undefined, undefined, undefined );
-    renderer.autoClear = true;
+		// reset jitter to nothing.	TODO: add support for orthogonal cameras
+		if ( camera.setViewOffset ) camera.setViewOffset( undefined, undefined, undefined, undefined, undefined, undefined );
 
-  }
+		renderer.autoClear = true;
+
+	}
 
 };
 
 THREE.MSAAPass.normalizedJitterOffsets = function( jitterVectors ) {
 
-  var scaledJitterOffsets = [];
+	var scaledJitterOffsets = [];
 
-  for( var i = 0; i < jitterVectors.length; i ++ ) {
+	for ( var i = 0; i < jitterVectors.length; i ++ ) {
 
-    scaledJitterOffsets.push( new THREE.Vector2( jitterVectors[i][0], jitterVectors[i][1] ).multiplyScalar( 1.0 / 16.0 ) );
+		scaledJitterOffsets.push( new THREE.Vector2( jitterVectors[ i ][ 0 ], jitterVectors[ i ][ 1 ] ).multiplyScalar( 1.0 / 16.0 ) );
 
-  }
+	}
 
-  return scaledJitterOffsets;
+	return scaledJitterOffsets;
 
 },
 
@@ -136,89 +139,34 @@ THREE.MSAAPass.normalizedJitterOffsets = function( jitterVectors ) {
 //
 // Sample patterns reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ff476218%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
 THREE.MSAAPass.JitterVectors = [
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [  0,  0 ]
-  ] ),
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [  4,  4 ],
-    [ -4, -4 ]
-  ] ),
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [ -2, -6 ],
-    [  6, -2 ],
-    [ -6,  2 ],
-    [  2,  6 ]
-  ] ),
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [  1, -3 ],
-    [ -1,  3 ],
-    [  5,  1 ],
-    [ -3, -5 ],
-    [ -5,  5 ],
-    [ -7, -1 ],
-    [  3,  7 ],
-    [  7, -7 ]
-  ] ),
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [  1,  1 ],
-    [ -1, -3 ],
-    [ -3,  2 ],
-    [  4, -1 ],
-
-    [ -5, -2 ],
-    [  2,  5 ],
-    [  5,  3 ],
-    [  3, -5 ],
-
-    [ -2,  6 ],
-    [  0, -7 ],
-    [ -4, -6 ],
-    [ -6,  4 ],
-
-    [ -8,  0 ],
-    [  7, -4 ],
-    [  6,  7 ],
-    [ -7, -8 ]
-  ] ),
-  THREE.MSAAPass.normalizedJitterOffsets( [
-    [ -4, -7 ],
-    [ -7, -5 ],
-    [ -3, -5 ],
-    [ -5, -4 ],
-
-    [ -1, -4 ],
-    [ -2, -2 ],
-    [ -6, -1 ],
-    [ -4,  0 ],
-
-    [ -7,  1 ],
-    [ -1,  2 ],
-    [ -6,  3 ],
-    [ -3,  3 ],
-
-    [ -7,  6 ],
-    [ -3,  6 ],
-    [ -5,  7 ],
-    [ -1,  7 ],
-
-    [  5, -7 ],
-    [  1, -6 ],
-    [  6, -5 ],
-    [  4, -4 ],
-
-    [  2, -3 ],
-    [  7, -2 ],
-    [  1, -1 ],
-    [  4, -1 ],
-
-    [  2,  1 ],
-    [  6,  2 ],
-    [  0,  4 ],
-    [  4,  4 ],
-
-    [  2,  5 ],
-    [  7,  5 ],
-    [  5,  6 ],
-    [  3,  7 ]
-  ] )
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ 0, 0 ]
+	] ),
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ 4, 4 ], [ - 4, - 4 ]
+	] ),
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ - 2, - 6 ], [ 6, - 2 ], [ - 6, 2 ], [ 2, 6 ]
+	] ),
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ 1, - 3 ], [ - 1, 3 ], [ 5, 1 ], [ - 3, - 5 ],
+		[ - 5, 5 ], [ - 7, - 1 ], [ 3, 7 ], [ 7, - 7 ]
+	] ),
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ 1, 1 ], [ - 1, - 3 ], [ - 3, 2 ], [ 4, - 1 ],
+		[ - 5, - 2 ], [ 2, 5 ], [ 5, 3 ], [ 3, - 5 ],
+		[ - 2, 6 ], [ 0, - 7 ], [ - 4, - 6 ], [ - 6, 4 ],
+		[ - 8, 0 ], [ 7, - 4 ], [ 6, 7 ], [ - 7, - 8 ]
+	] ),
+	THREE.MSAAPass.normalizedJitterOffsets( [
+		[ - 4, - 7 ], [ - 7, - 5 ], [ - 3, - 5 ], [ - 5, - 4 ],
+		[ - 1, - 4 ], [ - 2, - 2 ], [ - 6, - 1 ], [ - 4, 0 ],
+		[ - 7, 1 ], [ - 1, 2 ], [ - 6, 3 ], [ - 3, 3 ],
+		[ - 7, 6 ], [ - 3, 6 ], [ - 5, 7 ], [ - 1, 7 ],
+		[ 5, - 7 ], [ 1, - 6 ], [ 6, - 5 ], [ 4, - 4 ],
+		[ 2, - 3 ], [ 7, - 2 ], [ 1, - 1 ], [ 4, - 1 ],
+		[ 2, 1 ], [ 6, 2 ], [ 0, 4 ], [ 4, 4 ],
+		[ 2, 5 ], [ 7, 5 ], [ 5, 6 ], [ 3, 7 ]
+	] )
+
 ];

+ 6 - 6
examples/js/shaders/CompositeShader.js

@@ -6,12 +6,12 @@
 
 THREE.CompositeShader = {
 
-  shaderID: "composite",
+	shaderID: "composite",
 
 	uniforms: {
 
-		"tForeground":   { type: "t", value: null },
-    "scale":   { type: "f", value: 1.0 }
+		"tForeground": { type: "t", value: null },
+		"scale": { type: "f", value: 1.0 }
 
 	},
 
@@ -26,7 +26,7 @@ THREE.CompositeShader = {
 
 		"}"
 
-	].join("\n"),
+	].join( '\n' ),
 
 	fragmentShader: [
 
@@ -37,12 +37,12 @@ THREE.CompositeShader = {
 
 		"void main() {",
 
-      "vec4 foreground = texture2D( tForeground, vUv );",
+			"vec4 foreground = texture2D( tForeground, vUv );",
 
 			"gl_FragColor = foreground * scale;",
 
 		"}"
 
-	].join("\n")
+	].join( '\n' )
 
 };

+ 1 - 1
examples/webgl_postprocessing_smaa.html

@@ -115,6 +115,6 @@
 			}
 
 		</script>
-	</div>
+
 	</body>
 </html>