Kaynağa Gözat

Object3D: Removed renderDepth.

Mr.doob 10 yıl önce
ebeveyn
işleme
4fc7c4ea68

+ 0 - 5
docs/api/core/Object3D.html

@@ -89,11 +89,6 @@
 		Use quaternion instead of Euler angles for specifying local rotation.
 		</div>
 
-		<h3>[property:Float renderDepth]</h3>
-		<div>
-		Override depth-sorting order if non *null*.
-		</div>
-
 		<h3>[property:Boolean visible]</h3>
 		<div>
 		Object gets rendered if *true*.

+ 5 - 13
examples/js/renderers/Projector.js

@@ -126,7 +126,7 @@ THREE.Projector = function () {
 
 	_clippedVertex1PositionScreen = new THREE.Vector4(),
 	_clippedVertex2PositionScreen = new THREE.Vector4();
-	
+
 	//
 
 	this.projectVector = function ( vector, camera ) {
@@ -148,7 +148,7 @@ THREE.Projector = function () {
 		console.error( 'THREE.Projector: .pickingRay() has been removed.' );
 
 	};
-	
+
 	//
 
 	var RenderList = function () {
@@ -352,17 +352,9 @@ THREE.Projector = function () {
 					_object.id = object.id;
 					_object.object = object;
 
-					if ( object.renderDepth !== null ) {
-
-						_object.z = object.renderDepth;
-
-					} else {
-
-						_vector3.setFromMatrixPosition( object.matrixWorld );
-						_vector3.applyProjection( _viewProjectionMatrix );
-						_object.z = _vector3.z;
-
-					}
+					_vector3.setFromMatrixPosition( object.matrixWorld );
+					_vector3.applyProjection( _viewProjectionMatrix );
+					_object.z = _vector3.z;
 
 					_renderData.objects.push( _object );
 

+ 15 - 17
examples/webgl_decals.html

@@ -47,7 +47,7 @@
 		var controls, renderHelpers = false;
 		var mouseVector = new THREE.Vector3();
 		var mouse = new THREE.Vector2();
-		
+
 		var decalDiffuse = THREE.ImageUtils.loadTexture( 'textures/decal/decal-diffuse.png' );
 		var decalNormal = THREE.ImageUtils.loadTexture( 'textures/decal/decal-normal.jpg' );
 
@@ -94,11 +94,10 @@
 
 		function init() {
 
-			renderer = new THREE.WebGLRenderer( { antialias: true });
+			renderer = new THREE.WebGLRenderer( { antialias: true } );
 			renderer.setSize( window.innerWidth, window.innerHeight );
-
 			container.appendChild( renderer.domElement );
-	
+
 			scene = new THREE.Scene();
 			helperScene = new THREE.Scene();
 
@@ -106,7 +105,7 @@
 			camera.position.z = 100;
 			camera.target = new THREE.Vector3();
 			controls = new THREE.OrbitControls( camera, renderer.domElement );
-	
+
 			scene.add( camera );
 
 			var light = new THREE.HemisphereLight( 0xffddcc, 0x111122 );
@@ -139,7 +138,7 @@
 			window.addEventListener( 'mousedown', function () {
 
 				moved = false;
-	
+
 			}, false );
 
 			window.addEventListener( 'mouseup', function() {
@@ -161,7 +160,7 @@
 					x = event.clientX;
 					y = event.clientY;
 				}
-		
+
 				mouse.x = ( x / window.innerWidth ) * 2 - 1;
 				mouse.y = - ( y / window.innerHeight ) * 2 + 1;
 
@@ -172,7 +171,7 @@
 			function checkIntersection() {
 
 				if( !mesh ) return;
-		
+
 				mouseVector.set( mouse.x, mouse.y, 1 ).unproject( camera );
 
 				raycaster.set( camera.position, mouseVector.sub( camera.position ).normalize() );
@@ -203,7 +202,7 @@
 				}
 
 			}
-	
+
 			var gui = new dat.GUI();
 
 			gui.add( params, 'projection', { 'From cam to mesh': 'camera', 'Normal to mesh': 'normal' } );
@@ -215,7 +214,7 @@
 
 			onWindowResize();
 			render();
-	
+
 		}
 
 		function loadLeePerrySmith( callback ) {
@@ -282,12 +281,11 @@
 			s.set( scale, scale, scale );
 
 			if( params.rotate) r.z = Math.random() * 2 * Math.PI;
-			
+
 			var material = decalMaterial.clone();
 			material.color.setHex( Math.random() * 0xffffff );
 
 			var m = new THREE.Mesh( new THREE.DecalGeometry( mesh, p, r, s, check ), material );
-			m.renderDepth = - scene.children.length;
 			decals.push( m );
 			scene.add( m );
 
@@ -307,24 +305,24 @@
 
 			var merge = {};
 			decals.forEach(function (decal) {
-		
+
 				var uuid = decal.material.uuid;
 				var d = merge[uuid] = merge[uuid] || {};
 				d.material = d.material || decal.material;
 				d.geometry = d.geometry || new THREE.Geometry();
 				d.geometry.merge(decal.geometry, decal.matrix);
-		
+
 			});
 
 			removeDecals();
 
 			for (var key in merge) {
-		
+
 				var d = merge[key];
 				var mesh = new THREE.Mesh(d.geometry, d.material);
 				scene.add(mesh);
 				decals.push(mesh);
-	
+
 			}
 
 		}
@@ -341,7 +339,7 @@
 		function render() {
 
 			requestAnimationFrame( render );
-	
+
 			renderer.autoClear = false;
 			renderer.render( scene, camera );
 			if( renderHelpers ) renderer.render( helperScene, camera );

+ 0 - 1
examples/webgl_performance.html

@@ -136,7 +136,6 @@
 
 				}
 
-
 				renderer.render( scene, camera );
 
 			}

+ 0 - 4
src/core/Object3D.js

@@ -56,8 +56,6 @@ THREE.Object3D = function () {
 		},
 	} );
 
-	this.renderDepth = null;
-
 	this.rotationAutoUpdate = true;
 
 	this.matrix = new THREE.Matrix4();
@@ -755,8 +753,6 @@ THREE.Object3D.prototype = {
 		object.quaternion.copy( this.quaternion );
 		object.scale.copy( this.scale );
 
-		object.renderDepth = this.renderDepth;
-
 		object.rotationAutoUpdate = this.rotationAutoUpdate;
 
 		object.matrix.copy( this.matrix );

+ 3 - 11
src/renderers/WebGLRenderer.js

@@ -3402,18 +3402,10 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 						if ( _this.sortObjects === true ) {
 
-							if ( object.renderDepth !== null ) {
+							_vector3.setFromMatrixPosition( object.matrixWorld );
+							_vector3.applyProjection( _projScreenMatrix );
 
-								webglObject.z = object.renderDepth;
-
-							} else {
-
-								_vector3.setFromMatrixPosition( object.matrixWorld );
-								_vector3.applyProjection( _projScreenMatrix );
-
-								webglObject.z = _vector3.z;
-
-							}
+							webglObject.z = _vector3.z;
 
 						}
 

+ 1 - 10
src/renderers/webgl/plugins/SpritePlugin.js

@@ -158,16 +158,7 @@ THREE.SpritePlugin = function ( renderer, sprites ) {
 			var sprite = sprites[ i ];
 
 			sprite._modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, sprite.matrixWorld );
-
-			if ( sprite.renderDepth === null ) {
-
-				sprite.z = - sprite._modelViewMatrix.elements[ 14 ];
-
-			} else {
-
-				sprite.z = sprite.renderDepth;
-
-			}
+			sprite.z = - sprite._modelViewMatrix.elements[ 14 ];
 
 		}