Browse Source

SoftwareRenderer: Renamed callback to shader. Inlined shader code.

Mr.doob 12 years ago
parent
commit
a58bd90487
1 changed files with 15 additions and 30 deletions
  1. 15 30
      examples/js/renderers/SoftwareRenderer.js

+ 15 - 30
examples/js/renderers/SoftwareRenderer.js

@@ -105,7 +105,10 @@ THREE.SoftwareRenderer = function () {
 					function ( offset, cx1, cx2, scale ) {
 						var u = cx1 * scale; // 0-255!
 						var v = cx2 * scale; // 0-255!
-						drawPixel( offset, u, v, 0 );
+						data[ offset ] = u;
+						data[ offset + 1 ] = v;
+						data[ offset + 2 ] = 0;
+						data[ offset + 3 ] = 255;
 					}
 				)
 
@@ -124,7 +127,10 @@ THREE.SoftwareRenderer = function () {
 					v3.x * canvasWidthHalf + canvasWidthHalf,
 					- v3.y * canvasHeightHalf + canvasHeightHalf,
 					function ( offset, cx1, cx2, scale ) {
-						drawPixel( offset, 0, 255, 0 );
+						data[ offset ] = 0;
+						data[ offset + 1 ] = 255;
+						data[ offset + 2 ] = 0;
+						data[ offset + 3 ] = 255;
 					}
 				);
 
@@ -136,7 +142,10 @@ THREE.SoftwareRenderer = function () {
 					v1.x * canvasWidthHalf + canvasWidthHalf,
 					- v1.y * canvasHeightHalf + canvasHeightHalf,
 					function ( offset, cx1, cx2, scale ) {
-						drawPixel( offset, 0, 0, 255 )
+						data[ offset ] = 0;
+						data[ offset + 1 ] = 0;
+						data[ offset + 2 ] = 255;
+						data[ offset + 3 ] = 255;
 					}
 				);
 
@@ -162,21 +171,6 @@ THREE.SoftwareRenderer = function () {
 
 	}
 
-	/*
-	function drawPixel( x, y, r, g, b ) {
-
-		var offset = ( x + y * canvasWidth ) * 4;
-
-		if ( data[ offset + 3 ] ) return;
-
-		data[ offset ] = r;
-		data[ offset + 1 ] = g;
-		data[ offset + 2 ] = b;
-		data[ offset + 3 ] = 255;
-
-	}
-	*/
-
 	function clearRectangle( x1, y1, x2, y2 ) {
 
 		var xmin = Math.max( Math.min( x1, x2 ), 0 );
@@ -201,7 +195,7 @@ THREE.SoftwareRenderer = function () {
 
 	}
 
-	function drawTriangle( x1, y1, x2, y2, x3, y3, callback ) {
+	function drawTriangle( x1, y1, x2, y2, x3, y3, shader ) {
 
 		// https://gist.github.com/2486101
 		// explanation: ttp://pouet.net/topic.php?which=8760&page=1
@@ -344,7 +338,7 @@ THREE.SoftwareRenderer = function () {
 
 							if ( data[ offset + 3 ] === 0 ) {
 
-								callback( offset, cx1, cx2, scale );
+								shader( offset, cx1, cx2, scale );
 
 							}
 
@@ -378,7 +372,7 @@ THREE.SoftwareRenderer = function () {
 
 							if ( ( cx1 | cx2 | cx3 ) >= 0 && data[ offset + 3 ] === 0 ) {
 
-								callback( offset, cx1, cx2, scale );
+								shader( offset, cx1, cx2, scale );
 
 							}
 
@@ -409,13 +403,4 @@ THREE.SoftwareRenderer = function () {
 
 	}
 
-	function drawPixel( offset, r, g, b ) {
-
-		data[ offset ] = r;
-		data[ offset + 1 ] = g;
-		data[ offset + 2 ] = b;
-		data[ offset + 3 ] = 255;
-
-	}
-
 };