Browse Source

Some optimisations to the WIP software renderers.

Mr.doob 13 years ago
parent
commit
8e21ed4cf6

+ 3 - 2
examples/js/renderers/SoftwareRenderer2.js

@@ -168,14 +168,15 @@ THREE.SoftwareRenderer2 = function () {
 		var ymin = Math.max( Math.min( y1, y2 ), 0 );
 		var ymax = Math.min( Math.max( y1, y2 ), canvasHeight );
 
-		var offset = ( xmin + ymin * canvasWidth - 1 ) * 4 + 3;
+		var offset = ( xmin + ymin * canvasWidth ) * 4 + 3;
 		var linestep = ( canvasWidth - ( xmax - xmin ) ) * 4;
 
 		for ( var y = ymin; y < ymax; y ++ ) {
 
 			for ( var x = xmin; x < xmax; x ++ ) {
 
-				data[ offset += 4 ] = 0;
+				data[ offset ] = 0;
+				offset += 4;
 
 			}
 

+ 3 - 2
examples/js/renderers/SoftwareRenderer3.js

@@ -181,14 +181,15 @@ THREE.SoftwareRenderer3 = function () {
 		var ymin = Math.max( Math.min( y1, y2 ), 0 );
 		var ymax = Math.min( Math.max( y1, y2 ), canvasHeight );
 
-		var offset = ( xmin + ymin * canvasWidth - 1 ) * 4 + 3;
+		var offset = ( xmin + ymin * canvasWidth ) * 4 + 3;
 		var linestep = ( canvasWidth - ( xmax - xmin ) ) * 4;
 
 		for ( var y = ymin; y < ymax; y ++ ) {
 
 			for ( var x = xmin; x < xmax; x ++ ) {
 
-				data[ offset += 4 ] = 0;
+				data[ offset ] = 0;
+				offset += 4;
 
 			}
 

+ 2 - 2
examples/misc_software.html

@@ -52,7 +52,7 @@
 
 				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 10000 );
 				camera.position.y = 150;
-				camera.position.z = 400;
+				camera.position.z = 600;
 				scene.add( camera );
 
 				controls = new THREE.TrackballControls( camera );
@@ -66,7 +66,7 @@
 				plane.position.y = - 150;
 				scene.add( plane );
 
-				renderer = new THREE.SoftwareRenderer3();
+				renderer = new THREE.SoftwareRenderer2();
 				renderer.setSize( window.innerWidth, window.innerHeight );
 
 				container.appendChild( renderer.domElement );