Explorar el Código

- Minor clean up

Mr.doob hace 15 años
padre
commit
225947aaf9
Se han modificado 3 ficheros con 34 adiciones y 45 borrados
  1. 0 0
      build/three.js
  2. 32 43
      src/renderers/CanvasRenderer.js
  3. 2 2
      src/renderers/Renderer.js

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
build/three.js


+ 32 - 43
src/renderers/CanvasRenderer.js

@@ -31,8 +31,10 @@ THREE.CanvasRenderer = function () {
 		var i, j, element, pi2 = Math.PI * 2,
 		elementsLength, material, materialLength,
 		v1x, v1y, v2x, v2y, v3x, v3y, v4x, v4y,
+
 		uv1 = new THREE.Vector2(), uv2 = new THREE.Vector2(), uv3 = new THREE.Vector2(),
 		suv1 = new THREE.Vector2(), suv2 = new THREE.Vector2(), suv3 = new THREE.Vector2(),
+		suv1x, suv1y, suv2x, suv2y, suv3x, suv3y, denom, m11, m12, m21, m22, dx, dy,
 		bitmap, bitmap_width, bitmap_height,
 		size;
 
@@ -189,13 +191,13 @@ THREE.CanvasRenderer = function () {
 
 				} else if ( material instanceof THREE.BitmapUVMappingMaterial ) {
 
-					uv1.copy( element.uvs[ 0 ] ), uv2.copy( element.uvs[ 1 ] ), uv3.copy( element.uvs[ 2 ] ),
-					suv1.copy( uv1 ), suv2.copy( uv2 ), suv3.copy( uv3 ),
-
-					bitmap = material.bitmap,
-					bitmap_width = bitmap.width,
+					bitmap = material.bitmap;
+					bitmap_width = bitmap.width;
 					bitmap_height = bitmap.height;
 
+					uv1.copy( element.uvs[ 0 ] ); uv2.copy( element.uvs[ 1 ] ); uv3.copy( element.uvs[ 2 ] );
+					suv1.copy( uv1 ); suv2.copy( uv2 ); suv3.copy( uv3 );
+
 					suv1.x *= bitmap_width; suv1.y *= bitmap_height;
 					suv2.x *= bitmap_width; suv2.y *= bitmap_height;
 					suv3.x *= bitmap_width; suv3.y *= bitmap_height;
@@ -204,22 +206,34 @@ THREE.CanvasRenderer = function () {
 					expand( suv2, suv3 );
 					expand( suv3, suv1 );
 
-					suv1.x = uv1.x == 0 ? 1 : suv1.x;
-					suv1.x = uv1.x == 1 ? bitmap_width - 1 : suv1.x;
-					suv1.y = uv1.y == 0 ? 1 : suv1.y;
-					suv1.y = uv1.y == 1 ? bitmap_height - 1 : suv1.y;
+					suv1x = ( uv1.x == 0 ) ? 1 : ( uv1.x == 1 ) ? suv1.x - 1 : suv1.x;
+					suv1y = ( uv1.y == 0 ) ? 1 : ( uv1.y == 1 ) ? suv1.y - 1 : suv1.y;
+
+					suv2x = ( uv2.x == 0 ) ? 1 : ( uv2.x == 1 ) ? suv2.x - 1 : suv2.x;
+					suv2y = ( uv2.y == 0 ) ? 1 : ( uv2.y == 1 ) ? suv2.y - 1 : suv2.y;
+
+					suv3x = ( uv3.x == 0 ) ? 1 : ( uv3.x == 1 ) ? suv3.x - 1 : suv3.x;
+					suv3y = ( uv3.y == 0 ) ? 1 : ( uv3.y == 1 ) ? suv3.y - 1 : suv3.y;
 
-					suv2.x = uv2.x == 0 ? 1 : suv2.x;
-					suv2.x = uv2.x == 1 ? bitmap_width - 1 : suv2.x;
-					suv2.y = uv2.y == 0 ? 1 : suv2.y;
-					suv2.y = uv2.y == 1 ? bitmap_height - 1 : suv2.y;
+					// Textured triangle drawing by Thatcher Ulrich.
+					// http://tulrich.com/geekstuff/canvas/jsgl.js
 
-					suv3.x = uv3.x == 0 ? 1 : suv3.x;
-					suv3.x = uv3.x == 1 ? bitmap_width - 1 : suv3.x;
-					suv3.y = uv3.y == 0 ? 1 : suv3.y;
-					suv3.y = uv3.y == 1 ? bitmap_height - 1 : suv3.y;
+					_context.save();
+					_context.clip();
 
-					drawTexturedTriangle( bitmap, _bboxRect, v1x, v1y, v2x, v2y, v3x, v3y, suv1.x, suv1.y, suv2.x, suv2.y, suv3.x, suv3.y );
+					denom = suv1x * ( suv3y - suv2y ) - suv2x * suv3y + suv3x * suv2y + ( suv2x - suv3x ) * suv1y;
+
+					m11 = - ( suv1y * (v3x - v2x ) - suv2y * v3x + suv3y * v2x + ( suv2y - suv3y ) * v1x ) / denom;
+					m12 = ( suv2y * v3y + suv1y * ( v2y - v3y ) - suv3y * v2y + ( suv3y - suv2y) * v1y ) / denom;
+					m21 = ( suv1x * ( v3x - v2x ) - suv2x * v3x + suv3x * v2x + ( suv2x - suv3x ) * v1x ) / denom;
+					m22 = - ( suv2x * v3y + suv1x * ( v2y - v3y ) - suv3x * v2y + ( suv3x - suv2x ) * v1y ) / denom;
+					dx = ( suv1x * ( suv3y * v2x - suv2y * v3x ) + suv1y * ( suv2x * v3x - suv3x * v2x ) + ( suv3x * suv2y - suv2x * suv3y ) * v1x ) / denom;
+					dy = ( suv1x * ( suv3y * v2y - suv2y * v3y ) + suv1y * ( suv2x * v3y - suv3x * v2y ) + ( suv3x * suv2y - suv2x * suv3y ) * v1y ) / denom;
+
+					_context.transform( m11, m12, m21, m22, dx, dy );
+
+					_context.drawImage( bitmap, 0, 0 );
+					_context.restore();
 
 				}
 
@@ -237,31 +251,6 @@ THREE.CanvasRenderer = function () {
 
 	}
 
-	// Textured triangle drawing by Thatcher Ulrich.
-	// http://tulrich.com/geekstuff/canvas/jsgl.js
-
-	function drawTexturedTriangle( image, bbox, x0, y0, x1, y1, x2, y2, sx0, sy0, sx1, sy1, sx2, sy2 ) {
-
-		var denom, m11, m12, m21, m22, dx, dy;
-
-		_context.save();
-		_context.clip();
-
-		denom = sx0 * ( sy2 - sy1 ) - sx1 * sy2 + sx2 * sy1 + ( sx1 - sx2 ) * sy0;
-		m11 = - ( sy0 * (x2 - x1 ) - sy1 * x2 + sy2 * x1 + ( sy1 - sy2 ) * x0 ) / denom;
-		m12 = ( sy1 * y2 + sy0 * ( y1 - y2 ) - sy2 * y1 + ( sy2 - sy1) * y0 ) / denom;
-		m21 = ( sx0 * ( x2 - x1 ) - sx1 * x2 + sx2 * x1 + ( sx1 - sx2 ) * x0 ) / denom;
-		m22 = - ( sx1 * y2 + sx0 * ( y1 - y2 ) - sx2 * y1 + ( sx2 - sx1 ) * y0 ) / denom;
-		dx = ( sx0 * ( sy2 * x1 - sy1 * x2 ) + sy0 * ( sx1 * x2 - sx2 * x1 ) + ( sx2 * sy1 - sx1 * sy2 ) * x0 ) / denom;
-		dy = ( sx0 * ( sy2 * y1 - sy1 * y2 ) + sy0 * ( sx1 * y2 - sx2 * y1 ) + ( sx2 * sy1 - sx1 * sy2 ) * y0 ) / denom;
-
-		_context.transform( m11, m12, m21, m22, dx, dy );
-
-		_context.drawImage( image, 0, 0 );
-		_context.restore();
-
-	}
-
 	function expand( a, b ) {
 
 		_vector2.sub( b, a );

+ 2 - 2
src/renderers/Renderer.js

@@ -13,7 +13,7 @@ THREE.Renderer = function() {
 
 	this.renderList;
 
-	function sort(a, b) {
+	function painterSort(a, b) {
 
 		return a.screenZ - b.screenZ;
 
@@ -241,7 +241,7 @@ THREE.Renderer = function() {
 			}
 		}
 
-		this.renderList.sort(sort);
+		this.renderList.sort(painterSort);
 
 	}
 }

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio