Bläddra i källkod

Add support for Uint32 and Int32 to normalize / denormalize (#25984)

Garrett Johnson 2 år sedan
förälder
incheckning
6ed7c24295
1 ändrade filer med 16 tillägg och 0 borttagningar
  1. 16 0
      src/math/MathUtils.js

+ 16 - 0
src/math/MathUtils.js

@@ -235,6 +235,10 @@ function denormalize( value, array ) {
 
 			return value;
 
+		case Uint32Array:
+
+			return value / 4294967295.0;
+
 		case Uint16Array:
 
 			return value / 65535.0;
@@ -243,6 +247,10 @@ function denormalize( value, array ) {
 
 			return value / 255.0;
 
+		case Int32Array:
+
+			return Math.max( value / 2147483647.0, - 1.0 );
+
 		case Int16Array:
 
 			return Math.max( value / 32767.0, - 1.0 );
@@ -267,6 +275,10 @@ function normalize( value, array ) {
 
 			return value;
 
+		case Uint32Array:
+
+			return Math.round( value * 4294967295.0 );
+
 		case Uint16Array:
 
 			return Math.round( value * 65535.0 );
@@ -275,6 +287,10 @@ function normalize( value, array ) {
 
 			return Math.round( value * 255.0 );
 
+		case Int32Array:
+
+			return Math.round( value * 2147483647.0 );
+
 		case Int16Array:
 
 			return Math.round( value * 32767.0 );