Browse Source

Update SoftwareRenderer.js

THREE.SoftwareRenderer alpha flag implementation.
ecivic 9 years ago
parent
commit
9e15c011c7
1 changed files with 7 additions and 5 deletions
  1. 7 5
      examples/js/renderers/SoftwareRenderer.js

+ 7 - 5
examples/js/renderers/SoftwareRenderer.js

@@ -18,6 +18,8 @@ THREE.SoftwareRenderer = function ( parameters ) {
 	var context = canvas.getContext( '2d', {
 		alpha: parameters.alpha === true
 	} );
+	
+	var alpha = parameters.alpha;
 
 	var shaders = {};
 	var textures = {};
@@ -105,7 +107,7 @@ THREE.SoftwareRenderer = function ( parameters ) {
 		canvas.width = canvasWidth;
 		canvas.height = canvasHeight;
 
-		context.fillStyle = clearColor.getStyle();
+		context.fillStyle = alpha ? : "rgba(0, 0, 0, 0)" : clearColor.getStyle();
 		context.fillRect( 0, 0, canvasWidth, canvasHeight );
 
 		imagedata = context.getImageData( 0, 0, canvasWidth, canvasHeight );
@@ -336,7 +338,7 @@ THREE.SoftwareRenderer = function ( parameters ) {
 		canvas.width = canvasWidth;
 		canvas.height = canvasHeight;
 
-		context.fillStyle = clearColor.getStyle();
+		context.fillStyle = alpha ? "rgba(0, 0, 0, 0)" : clearColor.getStyle();
 		context.fillRect( 0, 0, canvasWidth, canvasHeight );
 
 		imagedata = context.getImageData( 0, 0, canvasWidth, canvasHeight );
@@ -372,11 +374,11 @@ THREE.SoftwareRenderer = function ( parameters ) {
 			data[ i ] = clearColor.r * 255 | 0;
 			data[ i + 1 ] = clearColor.g * 255 | 0;
 			data[ i + 2 ] = clearColor.b * 255 | 0;
-			data[ i + 3 ] = 255;
+			data[ i + 3 ] = alpha ? : 0 : 255;
 
 		}
 
-		context.fillStyle = clearColor.getStyle();
+		context.fillStyle = alpha ? "rgba(0, 0, 0, 0)" : clearColor.getStyle();
 		context.fillRect( 0, 0, canvasWidth, canvasHeight );
 
 	}
@@ -1478,7 +1480,7 @@ THREE.SoftwareRenderer = function ( parameters ) {
 				data[ poffset ++ ] = clearColor.r * 255 | 0;
 				data[ poffset ++ ] = clearColor.g * 255 | 0;
 				data[ poffset ++ ] = clearColor.b * 255 | 0;
-				data[ poffset ++ ] = 255;
+				data[ poffset ++ ] = alpha ? : 0 : 255;
 
 			}