2
0
Эх сурвалжийг харах

Merge branch 'fix-gethsl' of https://github.com/notlion/three.js into dev

Mr.doob 11 жил өмнө
parent
commit
e42cddecc0
1 өөрчлөгдсөн 26 нэмэгдсэн , 30 устгасан
  1. 26 30
      src/math/Color.js

+ 26 - 30
src/math/Color.js

@@ -223,54 +223,50 @@ THREE.Color.prototype = {
 
 	},
 
-	getHSL: function () {
+	getHSL: function ( optionalTarget ) {
 
-		var hsl = { h: 0, s: 0, l: 0 };
-
-		return function () {
-
-			// h,s,l ranges are in 0.0 - 1.0
-
-			var r = this.r, g = this.g, b = this.b;
+		// h,s,l ranges are in 0.0 - 1.0
 
-			var max = Math.max( r, g, b );
-			var min = Math.min( r, g, b );
+		var hsl = optionalTarget || { h: 0, s: 0, l: 0 };
 
-			var hue, saturation;
-			var lightness = ( min + max ) / 2.0;
+		var r = this.r, g = this.g, b = this.b;
 
-			if ( min === max ) {
+		var max = Math.max( r, g, b );
+		var min = Math.min( r, g, b );
 
-				hue = 0;
-				saturation = 0;
+		var hue, saturation;
+		var lightness = ( min + max ) / 2.0;
 
-			} else {
+		if ( min === max ) {
 
-				var delta = max - min;
+			hue = 0;
+			saturation = 0;
 
-				saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );
+		} else {
 
-				switch ( max ) {
+			var delta = max - min;
 
-					case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;
-					case g: hue = ( b - r ) / delta + 2; break;
-					case b: hue = ( r - g ) / delta + 4; break;
+			saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min );
 
-				}
+			switch ( max ) {
 
-				hue /= 6;
+				case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break;
+				case g: hue = ( b - r ) / delta + 2; break;
+				case b: hue = ( r - g ) / delta + 4; break;
 
 			}
 
-			hsl.h = hue;
-			hsl.s = saturation;
-			hsl.l = lightness;
+			hue /= 6;
+
+		}
 
-			return hsl;
+		hsl.h = hue;
+		hsl.s = saturation;
+		hsl.l = lightness;
 
-		};
+		return hsl;
 
-	}(),
+	},
 
 	getStyle: function () {